字符串:
练习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(" ","") 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> " 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(' ', '') print(txt1)
..