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()
posted @ 2021-09-03 23:50  yatya  阅读(771)  评论(0)    收藏  举报
2 3
4