with open("1.txt") as f:
contexts = f.read()
print(contexts.rstrip())
[2, 3, 3, 78]
with 打开文件,不需要的时候将其自动关闭,open 打开文件,open第一个参数是文件的路径,可以使用相对路径也可以使用绝对路径,还接受一个模式
- w 写入模式
- r 读取模式(默认值)
- a 附件模式,将内容追加到原文件内容之后
- r+ 读写模式
open(“1.txt”)等价于open(“1.txt”,“r”)
as f 将读取的文件对象设为f
f.read() 将文件的内容读取,文件读取结束会读取到一个空行,使用rstrip()可以去除这个空行。读取内容包含中文是需要设置编码
with open("1.txt", encoding='utf-8') as f:
contexts = f.read()
print(contexts.rstrip())
德玛
诺克
伊芙琳
还可以逐行读取文件内容,
with open("1.txt", encoding='utf-8') as f:
for line in f:
print(f"英雄为{line.rstrip()}")
英雄为德玛
英雄为诺克
英雄为伊芙琳
还可以将文件读取到一个列表
with open("1.txt", encoding='utf-8') as f:
lines = f.readlines()
print(lines)
[‘德玛\n’, ‘诺克\n’, ‘伊芙琳\n’]
这里也说明了读取结束当前文件或者当前行的时候回返回一个空白行
如果文件不存在会发生什么情况呢
如何去规避异常呢,使用异常捕捉工具
lines = ""
try:
with open("2.txt") as f:
lines = f.readlines()
except FileNotFoundError:
print("文件不存在")
print(lines)
文件不存在
如果异常什么都不做的话,使用pass即可。
写入文件
with open("1.txt", 'w') as f:
f.write("今天是个好日子")