如何在pyscripter中找到并替换文本文件中的项目?
在脚本中,我通过将列表转换为字符串将列表放入文本文件中。现在它有方括号。我需要删除这些,所以我可以取出单个单词和数字。我需要一个脚本,允许我用“无”找到并替换这些括号。
请帮忙!
这是我的文本文件目前的样子。 1
答案 0 :(得分:0)
首先,当您需要在文件中存储列表时,请使用JSON,pickle或等效文件。 JSON是长期存储以及存储的首选,可供其他程序读取或通过网络发送:
import json
my_list = ["hello", "world"]
with open('file.txt', 'w') as f:
json.dump(my_list, f)
或者,如果您只想以纯文本格式存储每行一个单词/句子/短语:
my_list = ["hello", "world"]
with open('file.txt', 'w') as f:
f.write('\n'.join(my_list)) # assuming your list isn't large
f.write('\n')
(另一方面,酸洗适用于临时/内部存储,以及存储无法转换为JSON可以处理的形式的内容;有关更多信息,请查找{{1}的文档}模块。)
现在,如果您已经搞砸了并且只是将列表的字符串表示放入文件中,您可以手动清理它,或者使用以下帮助程序:
pickle
如果您的文件包含多个列表,每个列表都在一个单独的行中,您可以使用:
import ast
import json
with open('file.txt') as f:
contents = f.read()
contents = ast.literal_eval(contents) # parses the string as if it were a Pytnon literal (which it is)
with open('file.txt', 'w') as f:
json.dump(contents, f) # write back as JSON this time
注意:哦......这似乎与pyscripter无关,除非我错过了什么。