2010-04-07 104 views
1

批處理文件是這樣的,我把Python放在某個路徑中有SPACE字符的目錄中。運行具有SPACE字符路徑的python批處理文件

 
C:\"Documents and Settings"\Administrator\Desktop\bracket\python\python 
C:\\"Documents and Settings"\\Administrator\\Desktop\\bracket\\[10,20]\\brackettest.py 

當我運行這個,我得到這個錯誤。

 
C:\Documents and Settings\Administrator\Desktop\bracket\python\python: can't ope 
n file 'C:\Documents and Settings\\Administrator\\Desktop\\bracket\\[10,20]\\bra 
ckettest.py': [Errno 2] No such file or directory 
C:\Documents and Settings\Administrator\Desktop\bracket> 

什麼可能是錯誤的?

包裝路徑不能解決此問題。

 
"C:\\Documents and Settings\\Administrator\\Desktop\\bracket\\[10,20]\\brackettest.py" 

括號('[]')是問題的原因嗎?在Mac上,python可以很好地與括號字符配合使用。

回答

5

有沒有反斜線在Windows控制檯逃逸,應改爲

"C:\Documents and Settings\Administrator\Desktop\bracket\python\python" "C:\Documents and Settings\Administrator\Desktop\bracket\[10,20]\brackettest.py" 
+0

這絕對有效。確保文件真的存在。您可以在控制檯提示符下使用Tab完成或在目錄[10,20]中使用'dir'。 – AndiDog 2010-04-07 16:46:37

+0

是的,它工作。我弄錯了。謝謝您的幫助。 – prosseek 2010-04-07 16:52:36

+0

如果公開報價已經存在,則只能在[10,20]上使用選項卡完成。我從相對路徑嘗試,沒有引號,cmd.exe處理括號內的項目,就像它甚至不在那裏一樣。 「cd c:\ test \\ [10,20] 」給了我在[10,20]結尾卡住的c:\ test文件夾中的第一項。不完全有用,但如果我在c之前加上引號,那麼它的工作是正確的。 – 2010-04-07 16:55:12

2

看起來你幾乎擁有了;只需用單斜槓替換雙斜槓即可。
如果您不確定,需要提醒您格式正確。嘗試使用Tab鍵自動完成文件夾或文件名。例如,在命令提示符處輸入:
C:\ docu
然後點擊Tab鍵,它會自動完成文件夾名稱。從那裏你只需輸入其餘的。只要你想自動完成文件夾或文件名的其餘部分,只需點擊Tab鍵即可。這將始終生成可正確運行的指定路徑。

0

你能

cd "\Documents and Settings" 
cd "\Documents and Settings\Administrator\Desktop\bracket\python\python" 
cd "\Documents and Settings\Administrator\Desktop\bracket\" 
cd "\Documents and Settings\Administrator\Desktop\bracket\[10,20]\" 

如果所有的作品,做

cd "\Documents and Settings\Administrator\Desktop\bracket\python\python" 
python "\Documents and Settings\Administrator\Desktop\bracket\[10,20]\brackettest.py" 

爲什麼你有這樣一個奇怪的,非描述性目錄名([10,20])?甚至不知道NTFS允許這樣做。

+0

@voyager - 這不是我的錯,我別無選擇,只能使用測試系統中的愚蠢目錄。 :( – prosseek 2010-04-07 16:55:03

1
path = r"C:\Users\mememe\Google Drive\Programs\Python\file.csv" 

關閉路徑R「串」也解決了這個問題非常好。這告訴python它是恰好該字符串並且避免反斜槓和空格錯誤。我將它用於我的文件,因爲它允許我直接從窗口頂部的導航欄進行復制和粘貼。