Python读取和编辑文件
一.Python读取文件
要以任何方式使用文件,哪怕只是打印文件的内容,都需要先打开文件,这样才能访问它。
使用open()函数打开文件
with open("D://workspace/py_projects/新建1.txt") as file_object:
contents = file_object.read()
print(contents)
关键字with在不再需要访问文件后将其关闭。在这个程序中,我们调用了open(),但并没有调用close()。你也可以调用open()和close()来打开和关闭文件,但这样做时,如果程序存在bug,导致close()语句未执行,文件将不会关闭,可能会导致数据丢失或受损。
使用with结构,可以让Python去确定:你只管打开文件,并在需要时去使用它,Python会在合适的时候自动将其关闭。
二. Python编辑文件
1.写入一行数据到文件
在 Python 中写入文件的第一步是打开所述文件进行写入,写入的基本模式是'w',它允许我们将文本写入文件。
当我们尝试打开的文件尚不存在时,这种模式会创建新文件。
如果文件已经存在,当我们打开它进行写入时,它的内容将被覆盖。
文件打开之后,我们可以使用该write()方法。file.write()允许我们将字符串写入文件 - 其他类型的数据需要事先转换为字符串。
file = open('test_file.txt', 'w', encoding='utf-8')
file.write('This is a line in a test file!')
file.close()
2.写入多行数据
names = ['Kate', 'Alexander', 'Oscar', 'Mary']
name_file = open('names.txt', 'w', encoding='utf-8')
# 用换行符分隔
for name in names:
name_file.write(name + '\n')
name_file.close()
另一种写入文件的方法是file.writelines(). writelines()获取一个可迭代的字符串序列并将它们写入文件。就像 with 一样write(),我们需要自己指定行分隔符。这就是我们可以使用这种方法编写names.txt文件的方式:
names = ['Kate\n', 'Alexander\n', 'Oscar\n', 'Mary\n']
name_file = open('names.txt', 'w', encoding='utf-8')
name_file.writelines(names)
name_file.close()
3.不覆盖原有数据
我们可以使用'a'代表append的模式,这允许在保留现有字符串的同时将新字符串写入文件
name_file = open('names.txt', 'a', encoding='utf-8')
name_file.write('Rachel\n')
name_file.close()

浙公网安备 33010602011771号