我对此概念感到有点迷茫,我们没有示例向我们展示如何在文件中替换或搜索。
提示:
写一份文件
将为您提供输入I的文件路径,输出O的文件路径,字符串S和字符串T.
读取I的内容,用T替换每次出现的S,并将结果信息写入文件O. 如果已经存在,则应该替换O.
输入未知,这是我们提供的唯一代码:
import sys
I= sys.argv[1]
O= sys.argv[2]
S= sys.argv[3]
T= sys.argv[4]
我们提供的唯一示例是如何读取文件,以及如何将简单的文本元素写入文件。
到目前为止我的代码:
file1 = open(I, 'r')
data = file1.read()
我真的被卡住了。
答案 0 :(得分:2)
您不在文件中替换本身 - 您将文件内容读入字符串,在字符串中替换,然后将结果写入输出文件。
replace
(Python方法)所有S
T
答案 1 :(得分:1)
首先你open输入文件,并读取其中的内容。
接下来,您创建一个loop,在其中检查当前单词是否与T相同,如果是,您replace,最后将新字符串写入输出文件。
我不会给你任何代码,因为这就是你需要的东西,你需要找到你自己的方法。
祝你好运答案 2 :(得分:1)
这是你的代码:
import sys
I= sys.argv[1]
O= sys.argv[2]
S= sys.argv[3]
T= sys.argv[4]
with open(I, 'r') as file_in:
text = file_in.read()
text = text.replace(S,T)
with open(O, 'w') as file_out:
file_out.write(text);
with
构造只确保文件在完成后关闭,这样您就不必考虑它了。剩下的就是直截了当。
答案 3 :(得分:0)
您可以编写一个功能来为您完成。
import sys
def elReplacer(I,O,S,T):
with open(O,"w") as outputFile:
outputFile.write(open(I,"r").read().replace(S,T))
outputFile.close()
I= sys.argv[1]
O= sys.argv[2]
S= sys.argv[3]
T= sys.argv[4]
elReplacer(I,O,S,T)
答案 4 :(得分:0)
这很晚了,但由于我的课程遇到了这个确切的问题,所以我可能会帮助别人。我将输入文件命名为“ inny”,将变量命名为“ outy”,以后将作为输出。
我采取的步骤是:
打开输入文件
读取输入文件并将其存储在字符串中
关闭文件
打开需要覆盖的文件(确保将其置于写入模式)
使用re.sub替换T中的S
将其写入文件
关闭文件
这是我在下面使用的代码。我知道可以将其缩短,但是如果您想向教授展示您的作品,则可以使用它。
import re
inny=open(I,'r')
results1 = inny.read()
inny.close()
outy=open(O,'w')
results2 = re.sub (S,T,results1)
outy.write(results2)
outy.close()