Python中的with open语法,与Java 中的try resource,可以自动关闭释放资源。
Python中打开文件,处理数据,最后关闭文件。语法方式如下:
file = open('my_data.csv')
df = file.read()
print(df)
file.close()
上面示例的问题是很容易忘记关闭文件。更好的做法是使用with open
,语法如下:
with open('my_data.csv') as file:
df = file.read()
print(df)
使用这种方法,文件会自动关闭。所以不用担心忘记file.close()语句。
下面通过几个示例来巩固下。
读文件
下面代码展示了如何使用with open语法打开文件,读内容至内存,并在控制台打印:
with open('data/data.csv') as file:
df = file.read()
print(df)
输出结果:
ATT
A
B
C
D
E
F
G
D
E
F
G
D
E
F
G
其中ATT是标题行,上面代码自动关闭打开文件,无需手动输入file.close().
写文件
下面代码使用with语句写一些文本至文件中:
with open('data_out.csv', 'w') as file:
file.write('Some text to write to CSV file')
open的w参数表示写模式,与读模式相对。
读写文件
with还能一次打开多个文件。下面代码打开两个文件,一个读内容,另一个写内容:
with open('my_data.csv', 'r') as infile, open('data_out.csv', 'w') as outfile:
for line in infile:
outfile.write(line)
需要提醒的是使用单个with语句能够同时打开多个文件。
本文参考链接:https://blog.csdn.net/neweastsun/article/details/125052147