我正在嘗試編寫一個可在遠程Linux服務器上移動和複製文件的Python腳本。但是,我不能認爲運行腳本的每個人(在Windows上)都會將此服務器映射到同一個字母。我不想提示用戶輸入正確的字母,而只是簡單地通過網絡URL(驅動器號映射到的網址)訪問服務器。所以,舉例來說,如果我映射服務器的URLPython:訪問具有已知URL但未知驅動器號的Windows映射網絡驅動器
\\name-of-machine.site.company.com
要驅動S:\,我想訪問,比方說,文件S:在驅動器盤符\ VAR \ SomeFile.txt不可知的方式。我環顧四周和一般建議似乎是使用UNC表示法:
f = open(r"\\name-of-machine.site.company.com\var\SomeFile.txt", "w")
但如果我試試這個,一個IOError說有沒有這樣的文件或目錄。如果我嘗試使用服務器的IP地址,而不是(不是真實地址,但類似):
f = open(r"\\10.1.123.149\var\SomeFile.txt", "w")
我得到的,過了好一會,一個IO錯誤後:「無效的模式(‘W’)或文件名」。爲什麼這些符號不起作用,以及如何通過其URL訪問此服務器(理想情況下它就像本地驅動器一樣)?
unc地址應該工作 - 它在我的網絡上正常工作。但是如果你沒有正確的權限,那麼你會得到一個IOError。聽起來像一個權限問題。 – MikeHunter