回答:
问题标题: Python如何打开和修改文本文件?
如果需要重新生成文件,可以使用Python自带的open函数以及write方法或者使用fileinput模块进行文件内容的修改,具体操作如下:
# 打开文件,如果不存在则创建新文件,文件的打开方式为w,即只写模式
with open('test.txt', 'w') as f:
# 写入文件内容
f.write('Hello World\n')
f.write('Hello Python\n')
import fileinput
# 对test.txt文件进行逐行操作,将每一行的内容添加上行号后写入新文件test1.txt中
with fileinput.input('test.txt', inplace=1) as f:
for line in f:
# 获取当前行的行号
lineno = f.filelineno()
# 在新文件尾部添加行号和原本内容
with open('test1.txt', 'a') as f1:
f1.write(f'{lineno}: {line}')
以上两种方法均可以用来打开和修改文本文件,具体使用方法可以根据实际需求进行选择。
桌面上的可能是之前生成的。目前的生成在这了(程序里只有一个文件名,使用相对路径,就是当前工程所在目录):
问题可能是因为程序在第二次运行时,由于之前已经在上一次运行中创建过 Nuist_AI.txt 文件,因此在第二次运行程序时,不会重新创建该文件。为了避免这种情况,你可以在打开文件时使用'w+' 模式,以便先清空文件,然后写入新内容。另外,也可以使用 os.path.exists 函数检查文件是否存在,如果存在,则可以在运行程序之前删除该文件。可以先判断是否存在,存在先删除,在新建
import os
# 删除旧文件
if os.path.exists('Nuist_AI.txt'):
os.remove('Nuist_AI.txt')
# 创建新文件并写入内容
with open('Nuist.txt', 'r', encoding='utf-8') as f1, open('Nuist_AI.txt', 'w+', encoding='utf-8') as f2:
content = f1.read()
content = content.replace('五言诗歌', '七言歌行')
f2.write(content)