我試圖用Python打開一個文件,但我不確定如何找到要使用的正確文件名。你如何找到你傳遞給open()的文件名?
回答
您可以指定路徑,在任何一個完整的方式文件:因爲它採取完全按照您指定它(例如「C /wher/ever/the.txt」),也被稱爲「絕對」 ,或者是部分文件(例如,只是「the.txt」,或者「ever/the.txt」,或者「../ever/the.txt」等等),也稱爲「相對」 相對到您的過程的當前工作目錄。如果你不知道那個工作目錄,那麼找到並指定絕對路徑通常是最簡單的。
因此,找出文件的存在位置(例如c:/wher/ever
)並使用該絕對路徑(使用「rightide up斜槓」,而不是windows樣式的反斜槓,如我在另一個答案中所解釋的)打開有問題的文件。
訪問name
屬性。
fh = open('spam.txt')
print fh.name
這不適合我。我收到一個錯誤,說文件不存在。也許我沒有在正確的位置保存.txt文檔? 另外,我認爲文件名通常看起來像一個目錄:/music/_singles/kairo.mp3 – 2010-08-17 01:07:54
如果你想寫一個新的文件,你必須使用append或write。即開放('spam.txt','w')'創建(並清空)文件或者打開('spam.txt','a')'創建(並附加到文件,如果存在的話)文件。 – Wolph 2010-08-17 01:42:29
- 1. 你如何將參數傳遞給#to_xml?
- 2. 你如何找到你APP.CONFIG
- 3. 如何將字符串傳遞給ofstream :: open作爲文件名
- 4. 你如何傳遞數組?
- 5. 你如何找到你的GitLab主機名(測試你的SSH密鑰)?
- 6. 如何將文件名傳遞給MATLAB?
- 7. 你如何組織你的Backbone文件?
- 8. 如何,當你找到它
- 9. 你如何找到應用
- 10. 你如何找出你的網站的排名關鍵字?
- 11. 你如何將主要創建的實例傳遞給類?
- 12. 你如何將值從collection_select傳遞給Rails中的onchange函數?
- 13. 你如何檢查傳遞給委託的參數?
- 14. 你如何上傳文件與AJAX
- 15. 你如何通過fields_for傳遞選項?
- 16. 你如何將二進制消息傳遞給javascript web worker?
- 17. 你怎麼找到你的電腦主機名?
- 18. 你用什麼上傳你的文件(代碼/文件)到現場服務器?
- 19. 你如何以動態形式傳遞名稱?
- 20. 你如何傳遞從客戶端到服務器的路徑?
- 21. 如何設置localhost到你的域名?
- 22. 你如何上傳一個zip壓縮文件到OpenShift應用
- 23. 你如何找到哪個.lib文件使用哪個函數?
- 24. 你在哪裏上傳你的pom.xml文件?
- 25. 你如何找到gpg密鑰的名稱? (用於maven-gpg-plugin)
- 26. 將文件拖放到.jar並將文件名傳遞給main()
- 27. 你如何將重定向URL傳遞到mod_rewritten頁面
- 28. 你如何讓你的提交登錄按鈕帶你到你的PHP頁面?
- 29. 你如何找到Django模板錯誤?
- 30. 你如何找到來電功能?
Psh,更多Windows討厭:(我仍然喜歡我的'r'C:\ paths'',但討厭'r'C:\ endsinbackslash''失敗 – 2010-08-17 07:38:57
@Nick,沒有仇恨!只是實用性,甚至微軟自己的C編譯器接受「C:/ tip/top」作爲文件路徑(實際上,這就是爲什麼它在Python中工作的原因:通過委託給底層C編譯器!):C甚至不擁有「原始文本形式」 「\ t」是_always_製表符,而「C:\\ tip \\ top」是唯一的選擇(當然,它也適用於Python,但是右鍵縮小可以節省像素和屏幕空間,清理代碼,工作在所有的平臺上,所以你可以形成良好的習慣,並始終使用它 - 所有的優勢,所以,爲什麼不呢?!) – 2010-08-17 14:45:40
我不知道,習慣的力量(是的,壞的理由)。在我的代碼中存在一些錯誤,所以我做了一堆修改,''''''''''''可能在其中,錯誤消失了,所以它被埋在我的潛意識裏,它們應該是這樣的:P – 2010-08-17 15:21:02