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)
..


浙公网安备 33010602011771号