到OP, 罗斯帕特森的上述方法完全适用于我,即
infile = "messy_data_file.txt"
outfile = "cleaned_file.txt"
delete_list = ["word_1", "word_2", "word_n"]
fin = open(infile)
fout = open(outfile, "w+")
for line in fin:
for word in delete_list:
line = line.replace(word, "")
fout.write(line)
fin.close()
fout.close()
例子:
我有一个名为messy_data_file.txt的文件,其中包含以下单词(动物),不一定在同一行上。就像这样:
Goat
Elephant
Horse Donkey Giraffe
Lizard
Bird
Fish
当我修改代码来读取(实际上只是增加的话,删除了“delete_list”行):
infile = "messy_data_file.txt"
outfile = "cleaned_file.txt"
delete_list = ["Donkey", "Goat", "Fish"]
fin = open(infile)
fout = open(outfile, "w+")
for line in fin:
for word in delete_list:
line = line.replace(word, "")
fout.write(line)
fin.close()
fout.close()
由此产生的“cleaned_file.txt”看起来是这样的:
Elephant
Horse Giraffe
Lizard
Bird
有一个空行,其中“喜羊羊”曾经是(其中,奇怪的是,除去“驴”没有),但对于我而言,这工作正常。
我也加了输入(“按回车键退出...”)代码的最后部分,当我双击remove_text时,保持命令行窗口不会打开和关闭.py文件来运行它,但请注意,您不会以这种方式捕获错误。
为了做到这一点我在命令行中运行(其中C:\ Just_Testing是目录,我的所有文件,即remove_text.py和messy_text.txt) 这样的:
C:\Just_Testing\>py remove_text.py
或
C:\Just_Testing>python remove_text.py
的作品完全一样。
当然,就像写HTML的时候,我想这绝不会伤害到使用完全限定的路径运行,从比你碰巧目录之外的其他地方PY或Python时要坐在,如:
C:\Windows\System32\>python C:\Users\Me\Desktop\remove_text.py
过程中的代码,这将是:
infile = "C:\Users\Me\Desktop\messy_data_file.txt"
outfile = "C:\Users\Me\Desktop\cleaned_file.txt"
小心使用相同的完全合格的路径,将您的新创建的cleaned_file.txt或将创建不论身在何处,并可能导致混乱的时候寻找它。
就我个人而言,我的环境变量中的PATH指向我所有的Python安装,即C:\ Python3.5.3,C:\ Python2.7.13等,因此我可以从任何地方运行py或python。
无论如何,我希望对Patterson先生的这段代码进行微调,可以准确地获得您需要的内容。 :)
。
您是否收到任何类型的错误,或者它只是不输出文件,但脚本似乎执行? – mwan
不,我没有收到任何错误..该文件似乎执行。 .py文件是否生成我可以查看的日志文件。我没有看到目录中的任何内容。 – Zenvega
执行后,clean_file.txt是否存在? – billinkc