这是因为filename
和foldername
得到扔掉与循环的每个迭代。该.replace()
方法返回一个字符串,但是您没有将结果保存在任何地方。
您应该使用:
filename = line[2]
foldername = line[5]
for letter in bad_characters:
filename = filename.replace(letter, "_")
foldername = foldername.replace(letter, "_")
但是我会使用正则表达式来做到这一点。它更干净,并且(可能)更快:
p = re.compile('[/:()<>|?*]|(\\\)')
filename = p.sub('_', line[2])
folder = p.sub('_', line[5])