运行 cp 命令来复制文件或在 Python 中更改文件名

新手上路,请多包涵

我想使用Python在Linux上运行 cp 命令,从而复制一个文件。我有这段代码:

 newfile = "namePart1" + dictionary[key] + "namePart2"

os.system("cp cfn5e10_1.lp newfile")

我怎样才能使第二行的文本 newfile 替换为我在上一行计算的 newfile 变量?

原文由 user1002288 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 935
2 个回答

使用 shutil.copyfile 复制文件而不是 os.sytem ,它不需要创建一个新进程,它会自动处理其中包含不寻常字符的文件名,例如空格 -- os.system 只是将命令传递给 shell,shell 可能会分解其中包含空格的文件名,以及其他可能的问题。

例如:

 newfile = "namePart1" + dictionary[key] + "namePart2"
shutil.copyfile("cfn5e10_1.lp", newfile)

原文由 Adam Rosenfield 发布,翻译遵循 CC BY-SA 3.0 许可协议

这不会用您的变量替换 newfile

 os.system("cp cfn5e10_1.lp newfile")

您需要像这样将变量连接到字符串的末尾:

 os.system("cp cfn5e10_1.lp " + newfile)

原文由 Daniel Li 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题