【发布时间】:2021-07-21 18:56:42
【问题描述】:
我目前正在尝试使用python从一个文件中提取信息,找到我需要的数据,然后将其保存到另一个文件中以备后用。
badgecommandlist = []
directory = "D:\Python\Badge Recovery"
for filename in os.listdir(directory): #open each file
newname = directory + "/" + filename
print(filename)
f=open(newname, "r")
lines = f.readlines() #read content of each file
f.close()
for line in lines:
if "badge give" in line or "badge share" in line or "badge take" in line or "badge leave" in line or "badge create" in line: #check if badge command is in each line
badgecommandlist.append(line)
print(badgecommandlist)
f=open("commandlist.txt", "w")
for line in badgecommandlist:
f.writelines(line)
f.close()
数据正在保存到列表中(由打印语句检查),但没有保存到文件“commandlist.txt”
关于它为什么不保存的任何想法?它在另一个非常相似的脚本上运行良好
【问题讨论】:
-
您确定文件在您期望的位置吗?您如何验证文件的内容?你知道当前工作目录是什么吗?
-
@KarlKnechtel 我要保存到的文件与 python 文件位于同一目录中。新文件的内容是空的,因为它是一个输出,我应该验证它吗?
-
好的,所以你在与python文件相同的目录中有一个空文件。您是否希望脚本尝试写入该文件,而不是写入其他同名文件?如果是这样,为什么?您的计划的哪一部分旨在确保发生这种情况?
-
@PatrickArtner 我不认为这是一个缩进错误。据我了解,他想读取所有文件,并将这些文件中的所有内容添加到
badgecommandlist -
@EdoAkse 是的,我正在尝试打开每个文件,找到包含
badge give等的每一行并将其添加到输出文件中
标签: python python-3.x list file