你可以使用下面的语法在 Python 中打开一个文件,对它做一些事情,然后关闭该文件。
file = open('my_data.csv')
df = file.read()
print(df)
file.close()
这种方法的问题是,很容易忘记关闭文件。
一个更好的方法是使用与打开,它使用下面的基本语法:
with open('my_data.csv') as file:
df = file.read()
print(df)
使用这种方法,你正在处理的文件会自动关闭,这样你就不必记得使用file.close()。
下面的例子展示了如何在不同情况下使用with open。
例子 1: 使用 With 语句来读取文件
下面的代码展示了如何使用 "with "语句将一个文件读入 Python 并打印文件的内容:
with open('my_data.csv') as file:
df = file.read()
print(df)
,points,assists,rebounds
0,11,5,6
1,17,7,8
2,16,7,8
3,18,9,10
4,22,12,14
5,25,9,12
6,26,9,12
7,24,4,10
8,29,8,11
文件的内容被打印出来,文件被自动关闭,不需要我们输入file.close()。
例 2: 使用 With 语句来写文件
下面的代码显示了如何使用 "with "语句将一些文本写到一个文件中:
with open('data_out.csv', 'w') as file:
file.write('Some text to write to CSV file')
注意open()语句中的'w'告诉Python对该文件使用'写'模式,而不是读模式。
例 3: 使用 With 语句来读写文件
我们也可以在一个 "with "语句中一次打开几个文件。
下面的代码显示了如何使用 "with "语句来打开两个文件,读取一个文件的内容,然后将第一个文件的内容写到第二个文件中。
with open('my_data.csv', 'r') as infile, open('data_out.csv', 'w') as outfile:
for line in infile:
outfile.write(line)
如果我们导航到我们写入'data_out.csv'的位置,那么我们可以查看该文件的内容。

请注意,我们可以使用 open()函数,在一个 "with "语句中打开任意多的文件。
其他资源
下面的教程解释了如何在Python中执行其他常见的操作: