在 python 2.7.2 中,我需要在 Linux 中制作一个文件的副本。
新文件 = "namePart1" + 字典 [key] + "namePart2"
os.system("cp cfn5e10_1.lp 新文件")
但是,新文件不能被其正确的字符串替换。
论坛中的帖子无济于事。
非常感谢任何帮助。
用于shutil.copyfile
复制文件而不是os.sytem
,它不需要创建新进程,它会自动处理其中包含不寻常字符的文件名,例如空格 -os.system
只需将命令传递给 shell,shell 可能会分解文件名其中有空格,以及其他可能的问题。
例如:
newfile = "namePart1" + dictionary[key] + "namePart2"
shutil.copyfile("cfn5e10_1.lp", newfile)
这不会替换newfile
为您的变量。
os.system("cp cfn5e10_1.lp newfile")
您需要将变量连接到字符串的末尾,如下所示:
os.system("cp cfn5e10_1.lp " + newfile)
如果cp
要从 Python 调用,请使用该subprocess
模块:
subprocess.call(["cp", "cfn5e10_1.lp", "newfile"])
但最好使用shutil
模块中的函数。