簡體   English   中英

subprocess.CalledProcessError在Windows 7上從Python 3運行robocopy時

[英]subprocess.CalledProcessError When running robocopy from Python 3 on Windows 7

我正在嘗試使用robocopy和python 3將媒體從一台Windows計算機自動復制到網絡上的另一台計算機上。

我已經嘗試了subprocessrobocopy幾乎所有組合,但是仍然出現錯誤。

這是我最近的嘗試:

print(subprocess.check_output(["robocopy", "\\172.21.81.23\c\media\\ \\172.21.81.10\c\media\videos\\"], shell=True))

我不確定這是反斜杠還是什么,但是我總是得到以下響應:

Traceback (most recent call last):
  File "",line 7, in tableChange
  File "C:\Program Files  line 586, in check_output
    raise CalledProcessError(retcode, process.args, output=output)
subprocess.CalledProcessError: Command '['robocopy', '\\172.21.81.23\\c\\media\\cmsupload\\ \\172.21.81.10\\c\\media\\videos\\']' returned non-zero exit status 16

有沒有人有什么建議?

您要么不拆分參數(並使用shell=True ),要么不拆分它們(並且不使用shell=True ),就不能僅拆分參數中的命令。 此外,對於Windows路徑,您希望使用原始字符串來避免意外在路徑中處理ASCII轉義的問題(以r ,例如r'\\\\foo\\bar' ,並且不包括尾部斜杠或其他東西變得怪異),所以您可以這樣做:

print(subprocess.check_output(['robocopy', r'\\172.21.81.23\c\media', r'\\172.21.81.10\c\media\videos']))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM