python3基础:字符串、文本文件

字符串:

练习1:

复制代码
str = "大胖三百磅不是二百磅陪着一百磅的小胖"
print(str.replace("磅", "斤"))  # 替换所有
print(str.replace("磅", "斤", 2))  # 替换两次

len = len(str)  # 这句话的字数长度
print(str[5:len - 8])  # 截取第五个字符~倒数第八个字符。结果:不是二百磅

str = "日照香炉生紫烟"
a = str[::-1]  # 反转成倒序
print(a)  # 烟紫生炉香照日
复制代码

练习2:  字符串 <=> 列表

复制代码
# -*- coding: utf-8 -*-
# coding=utf-8

str1 = '赵钱孙李周吴郑王'
ls1 = list(str1)        # 字符串转为列表
print(ls1)                   # ['赵', '钱', '孙', '李', '周', '吴', '郑', '王']
str2 = "".join(ls1)     # 列表转为字符串
print(str2)                   # 赵钱孙李周吴郑王
str2 = str2[::-1]       # 字符串倒序
print(str2)                   # 王郑吴周李孙钱赵    
复制代码

练习3:  随机生成字符串

复制代码
# -*- coding: utf-8 -*-
# coding=utf-8

import random
import string

str1 = string.ascii_uppercase  # 大写 ABCDEFGHIJKLMNOPQRSTUVWXYZ
#str1 = string.ascii_lowercase # 小写 abcdefghijklmnopqrstuvwxyz
#str1 = string.ascii_letters   # 大写和小写 abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ

#随机生成6位字母
mylist1 = [random.choice(str1) for i in range(6)]
print(''.join(mylist1))

# 随机生成6位数字
str2 = string.digits    # 数字 1234567890
mylist2 = [random.choice(str2) for i in range(6)]
print(''.join(mylist2))

#随机生成10位字母和数字混合
str3 = string.ascii_uppercase + string.digits   # 字母和数字
mylist3 = [random.choice(str3) for i in range(10)]
print(''.join(mylist3))
复制代码

文本文件:

 http://www.runoob.com/python3/python3-inputoutput.html  不同模式打开文件

r   rb  r+  rb+ 
w  wb  w+  wb+
a  ab  a+  ab+

r   只能读

r+   可读可写   不会创建不存在的文件(若文件不存在,报错)。从顶部开始写,会覆盖之前此位置的内容(覆盖写)

a   只能写        从文件底部添加内容,不存在则创建

a+   可读可写   从文件顶部读取内容,从文件底部添加内容,不存在则创建。(追加新内容)

w   只能写        覆盖整个文件,文件不存在则创建

w+   可读可写   如果文件存在,则覆盖整个文件,文件不存在则创建

练习1:文本文件读取、处理及保存:  读取chengyu.txt,按行处理后,保存到test111.txt中。文本文件都是utf-8的

复制代码
# -*- coding: utf-8 -*-

html = ""
fo = open('d:/chengyu.txt', 'a+') #以读写方式处理文件IO
fo.seek(0)
str_line = fo.readline()
while str_line:
    # print(str_line)
    str_line = fo.readline()

    # 有两种标签<h3> 和 <p>,处理<p>标签中所含的成语
    # str_line = "<p>急中生智 仰不愧天 镇定自若 化险为夷</p>"
    str_line2 = ""
    is_word = str_line.find("<p>")
    if is_word>-1:
        print("----是成语所在行----")
        # print(str_line)
        str_line = str_line.replace("<p>","")
        str_line = str_line.replace("</p>","")
        str_line = str_line.replace("\n","")
        for _word in str_line:
            if _word.find(" ")>-1:
                str_line2 = str_line2 + "</u>" + _word + "<u>"
            elif _word.find("、")>-1:
                str_line2 = str_line2 + "</u>" + _word + "<u>"
            else:
                str_line2 = str_line2 + _word
        str_line2 = "<u>" + str_line2 + "</u>"
        html = html + "<p>" + str_line2 + "</p>\n"

    else:
        print("----NO-所在行----")
        html = html + str_line
        # print(str_line)
fo.close


fo2 = open('d:/test111.txt',"w")
fo2.write(html)
fo2.close()
复制代码

练习2:打开一个网页

复制代码
# -*- coding: utf-8 -*-
#coding=utf-8
import requests

def getTxts():
    url = 'https://www.cnblogs.com/qq21270/'
    r = requests.get(url,verify=False)
    print(r.text)

if __name__ == '__main__':
    getTxts()
复制代码

 练习3:

复制代码
# -*- coding: utf-8 -*-
# coding=utf-8

# 读取文本文件,把所有的汉字拆成一个list
f = open("jieba_text.txt", 'r', encoding='utf8')  # 从文件中读取要处理的大段文字
txt1 = f.read()
txt1 = txt1.replace('\n', '')
print(txt1)
复制代码

..

猜你喜欢

转载自www.cnblogs.com/valorchang/p/11282483.html