我试图获取一个模板,复制它并将其命名为列表的一个元素,然后我需要找到一个特定的单词并用string元素替换它。对于列表中的每个元素
范例
这就是我所拥有的
模板文件测试: “XXXX很好”
名单
这就是我需要的
创建文件:
-已创建文件中的文本:
文件扩展名不是txt,但我没有遇到任何问题
我用下面的代码尝试了一下;结果只有两个文件(列表有两行以上),第二个文件是空的
如果能帮上点忙,我将不胜感激
template = open ('C:\\Users\\Munoz\\Desktop\\template.abc', 'r')
for element in myList: #For each element in my list
with open('C:\\Users\\Munoz\\Desktop\\'+element.strip()+'.abc', "w") as newFile: #create a file with the name of the element and abc extension
for line in template: #for every line in template
newFile.write(line.replace("Name",element.strip())) #copy the line and replace "Name" with the element name
template.close
您的
template
变量是一个文件句柄,而不是字符串。因此for line in template
的第二次迭代没有留下任何可读取的内容,因为文件指针已经位于上次运行时的文件末尾可以在每个元素的
for
循环中打开文件句柄,但这样做效率很低。或者,您可以每次使用template.seek(0)
重置文件指针,但再次强调,每次通过循环读取文件都是低效的最好将整个文件读入一个行列表,然后遍历该字符串列表
相关问题 更多 >
编程相关推荐