我希望创建一个python脚本,它将读取一个源文件,然后生成另一个带有名称字符串的文件。
例如
macaddress.cnf.xml包含源文件
我需要在macaddress.cnf.xml的多个位置将'6000'更改为'6001',然后我想输出到newmacaddress.cnf.xl。
这就是我所拥有的
#! /usr/bin/python
#read and write to file
f = open(file)
for line in f:
if line.contains('66001'):
newline = line.replace('66001', '60001')
要添加,我希望能够使用csv或其他任何内容执行此操作并运行脚本并执行
60002>> macaddressfromcsv.cnf.xml 60003>> macaddressfromcsv.cnf.xml 60004等。
对不起,我对此很新,任何帮助都会很棒。
答案 0 :(得分:1)
从您的问题中不清楚您的所有目标是什么,但我会尝试解决其中的一些问题。如果要从一个文件中获取输入,请对其进行修改,然后写入您可以执行的其他文件:
buffer = "";
with open("input_file") as in:
buffer = in.read();
# do modifications ...
with open("output_file", 'w') as out:
out.write(buffer);
注意:您需要在python 2.5版中使用from __future__ import with_statement
。
要进行多次替换,您实际上可以使用re.sub()
函数:
buffer = re.sub('6000', '6001', buffer)
关于使用csv的附加信息,请提供更详细的说明或您要尝试实现的示例。
答案 1 :(得分:0)
data=open("input_file").read()
outfile=open("macaddressfromcsv.cnf.xml","w")
for i in range(6001,6010):
outfile.write(data.replace("6000",str(i))
outfile.write("\n") # you may not need this
outfile.close()
编辑。我想你需要澄清这个问题。是否只有一个输出文件,或者每个替换文件是否需要一个文件?