1.打开文件
my_file = open('my_file.txt')
| 该open()函数最重要的可选参数之一是mode. 此参数规定我们希望如何打开文件以及打开文件的目的。以下选项可用: |
'r' | 开放阅读。如果文件不存在,则会发生错误。 |
---|---|
'w' | 打开写入和截断。如果文件已经存在,它将被覆盖。 |
'a' | 开放写作。如果文件已存在,则追加到文件末尾。 |
'b' | 以二进制模式打开。 |
'+' | 开放更新(读取和写入)。 |
't' | 作为文本打开 |
关于模式,有几件事需要说一下。
首先,在默认情况下,文件被打开阅读的文本,这样的默认值mode是'r',或者更准确地说,'rt'。
其次,正如你所看到的,我们可以组合模式来做我们需要的。例如,如果我们想打开一个现有文件并能够读取和更新它,我们应该将模式设置为'r+'.
第三,我们可以选择要打开文件的格式。主要的选项是文本或二进制,'t'和'b'分别。这对应于str和bytes对象之间的差异。所以,如果你想打开一个文件以二进制写入,模式应该是'wb'. 请注意,由于文本格式是默认格式,因此大部分时间't'都被省略了。
某些模式不能相互结合:因此,只有一个选项'w','r'以及'a'必须指定,我们不能打开一个文件'ar'模式。同样,我们必须选择'b'或't',文件不能同时以文本和二进制模式打开。
最后,我们应该提到 options'w'和'a'. 这两种模式都用于写入文件。唯一的区别是'w'在写入文件之前截断文件。换句话说,如果文件已经存在,则删除其内容。该'a'行为有所不同:如果该文件存在,任何我们写它会被简单地添加到文件的末尾。
encoding参数指定应该用于解码或编码文本文件的编码。当我们以文本形式打开文件时需要它,默认值取决于平台。以下是打开文件以使用不同编码读取的一些示例:
# UTF-8
file_utf8 = open('my_file.txt', encoding='utf-8')
# UTF-16
file_utf16 = open('my_file.txt', encoding='utf-16')
# CP1252
file_cp1252 = open('my_file.txt', encoding='cp1252')
2.关闭文件
为了保证数据的安全,我们必须确保文件最后是关闭的,一般使用close()方法
3.批量创建文件
# 在path路径下新建10个txt文件,名称为"新建1.txt"等
# 文件的内容都是content
for i in range(10):
path = "D://workspace/py_projects/"
content = "aaabbbcccdddeeefff"
f = open(path + "新建" + str(i) + ".txt", "w")
f.write(content)
f.close()