【问题标题】:Xcopy with PythonXcopy 与 Python
【发布时间】:2014-08-04 17:48:55
【问题描述】:

我正在尝试让 xcopy 与 python 一起工作以将文件复制到远程系统。我正在使用一个非常简单的测试示例:

import os

src = "C:\<Username>\Desktop\test2.txt"
dst = "C:\Users\<Username>"

print os.system("xcopy %s %s" % (src, dst))

但由于某种原因,当我运行它时,我得到:

Invalid number of parameters
4

直接从命令行运行 xcopy 可以正常工作。有什么想法吗?

谢谢

【问题讨论】:

  • Python 文档建议使用subprocess 模块而不是os.system

标签: python xcopy


【解决方案1】:

\t 是一个制表符。我建议对 Windows 路径使用原始字符串:

src = r"C:\<Username>\Desktop\test2.txt"
dst = r"C:\Users\<Username>"

这将通过将一些反斜杠解释为转义序列来阻止 python 让你感到惊讶。

【讨论】:

  • 或者只使用正斜杠; Windows 对它们非常满意。
【解决方案2】:

除了使用原始字符串文字,使用subprocess 模块而不是os.system - 如果参数包含空格,它将负责正确引用您的参数。因此:

import subprocess

src = r'C:\<Username>\Desktop\test2.txt'
dst = r'C:\Users\<Username>'

subprocess.call(['xcopy', src, dst])

【讨论】:

    【解决方案3】:

    尝试使用 r 为您的字符串添加前缀。所以r"C:\&lt;Username&gt;\Desktop\test2.txt"。问题是反斜杠被视为字符串中的特殊字符。

    【讨论】:

      猜你喜欢
      • 2012-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-16
      • 2012-07-16
      • 1970-01-01
      • 1970-01-01
      • 2010-09-16
      相关资源
      最近更新 更多