2014-09-10 81 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