Python 3.x 读取文本文件的每一行,删除特定字符串前的所有字符,然后在Python中另存为新文件
我有几个文本消息记录文档,需要删除它们的用户名和时间戳 例如:Python 3.x 读取文本文件的每一行,删除特定字符串前的所有字符,然后在Python中另存为新文件,python-3.x,Python 3.x,我有几个文本消息记录文档,需要删除它们的用户名和时间戳 例如: 06/01/2021, 13:43 - Blue Banana: Blah blah 06/01/2021, 13:43 - Red Apple: Blah blah blah 06/01/2021, 13:43 - Blue Banana: Blah blah blah blah 到 到目前为止,我得到的是打开命令提示符一秒钟,然后关闭它测试文档2'完全没有变化 oldfile = "C:\\Users\\User\
06/01/2021, 13:43 - Blue Banana: Blah blah
06/01/2021, 13:43 - Red Apple: Blah blah blah
06/01/2021, 13:43 - Blue Banana: Blah blah blah blah
到
到目前为止,我得到的是打开命令提示符一秒钟,然后关闭它测试文档2'完全没有变化
oldfile = "C:\\Users\\User\\Downloads\\Test Docu.txt"
newfile = "C:\\Users\\User\\Downloads\\Test Docu 2.txt"
newline = ""
with open(oldfile, 'r') as f:
for line in f:
if "Blue Banana: " in line:
newline = line[line.find("Blue Banana: "):]
newfile.write(newline)
elif "Red Apple: " in line:
newline = line[line.find("Red Apple: "):]
newfile.write(newline)
您需要打开()新文件并写入该文件
您还应该为任何“用户名”使用通用解决方案
newfile
是一个字符串,因此newfile.write(…)
不起作用。请尝试open(newfile,'w')
?要解决命令提示符问题,请不要“双击”python脚本,使用实际的IDE运行代码,并查看write()不是str函数的错误
oldfile = "C:\\Users\\User\\Downloads\\Test Docu.txt"
newfile = "C:\\Users\\User\\Downloads\\Test Docu 2.txt"
newline = ""
with open(oldfile, 'r') as f:
for line in f:
if "Blue Banana: " in line:
newline = line[line.find("Blue Banana: "):]
newfile.write(newline)
elif "Red Apple: " in line:
newline = line[line.find("Red Apple: "):]
newfile.write(newline)
with open(oldfile) as f, open(newfile, 'w') as out:
for line in f:
time, txt = line.split('-', 1)
out.write(txt.split(':',1)[1].strip() + '\n')