2014-09-10 77 views
0
import os 

surucu_adi = "G" 
kaynak = surucu_adi + ":\\" 
hedef = "%userprofile%\\Desktop\\pdfler\\" 

for i in os.listdir(kaynak): 
    dosya_konumu = kaynak + i 
    if os.path.isfile(dosya_konumu): 
     os.system("""xcopy /f /r /i /d /y {} {}""".format(dosya_konumu, hedef)) 

它提供了錯誤,「無效的數量參數」 這樣的結果:參數異常的無效數量

G:\7ECxgvX2Ns_ItY3WQ4uo8zUOV95rTkGSinRjlewqHf6LmyZD-J.pdf -> C:\Users\Kadir\Desktop\pdfler\7ECxgvX2Ns_ItY3WQ4uo8zUOV95rTkGSinRjlewqHf6LmyZD-J.pdf 
1 File(s) copied 
G:\12114841_kamustandartlari.docx -> C:\Users\Kadir\Desktop\pdfler\12114841_kamustandartlari.docx 
1 File(s) copied 
Invalid number of parameters 
G:\26112207_2014lys2.xlsx -> C:\Users\Kadir\Desktop\pdfler\26112207_2014lys2.xlsx 
1 File(s) copied 

爲什麼有錯誤?

+0

? – 2014-09-10 20:34:59

+2

這將有助於包含您收到的整個回溯。 – skrrgwasme 2014-09-10 20:36:15

+0

嘗試用引號括起你的文件名。 http://superuser.com/questions/114178/why-is-xcopy-returning-invalid-number-of-parameters在Python中,您需要使用'「\」 \「」'爲此。 – Shashank 2014-09-10 20:39:27

回答

1

感謝大家。我解決了這個問題。

os.system("""xcopy /f /r /i /d /y {} {}""".format(dosya_konumu, hedef)) 

- >

os.system("""xcopy {} {}""".format('"'+dosya_konumu+'"', '"'+hedef+'"')) 
如果您運行使用貼它在外面工作的Python參數的命令
+2

您也可以在格式化的字符串中提供雙引號:'os.system('xcopy「{}」「{}」'format(dosya_konumu,hedef))' – beroe 2014-09-10 20:56:46

+0

哦,謝謝。 – bigent 2014-09-10 21:06:53