我在學習如何解析Python中的.txt文件。這導致我打開解釋器(terminal> python)並玩弄。但是,我似乎無法指定正確的路徑。 Python首先看什麼?Python首先在哪裏查找文件?
這是我的第一個步驟:
f = open("/Desktop/temp/myfile.txt","file1")
這公然不起作用。任何人都可以建議嗎?
我在學習如何解析Python中的.txt文件。這導致我打開解釋器(terminal> python)並玩弄。但是,我似乎無法指定正確的路徑。 Python首先看什麼?Python首先在哪裏查找文件?
這是我的第一個步驟:
f = open("/Desktop/temp/myfile.txt","file1")
這公然不起作用。任何人都可以建議嗎?
編輯:哦,是的,你的第二個參數是錯誤的。甚至沒有注意到:)
Python看起來你告訴它的文件打開。如果你打開/ home/malcmcmul中的解釋器,那麼它將成爲活動目錄。
如果指定一個路徑,那就是它的外觀。你確定/ Desktop/temp是一個有效的路徑嗎?我不知道/ Desktop是一個根文件夾。
一些例子:
如果我有一個文件:/home/bartek/file1.txt
而且I型python
到目錄內讓我解釋/home/bartek/
這將工作並取file1.txt ok:f = open("file1.txt", "r")
這不起作用:f = open("some_other_file.txt", "r")
,因爲該文件位於某種其他目錄中。
只要我指定正確的路徑這將工作:f = open("/home/media/a_real_file.txt", "r")
謝謝!我不太確定它會在哪裏看,我不喜歡指定每一位導演!再次感謝! – Federer 2009-11-03 16:52:37
首先,第二個參數是權限位:「R」讀取,「W」寫「一個「附加。 「file1」不應該在那裏。
這不起作用,因爲你的錯誤語法爲open
。
在提示符的解釋試試這個:
>>> help(open)
Help on built-in function open in module __builtin__:
open(...)
open(name[, mode[, buffering]]) -> file object
Open a file using the file() type, returns a file object.
所以第二個參數是開放模式。 A quick check of the documentation我們試試這個代替:
f = open("/Desktop/temp/myfile.txt","r")
+1表示良好的習慣,在正確的答案之上:-) – RedGlyph 2009-11-03 17:13:31
嘗試:
f = open('Desktop/temp/myfile.txt', 'r')
這將打開文件相對於當前目錄。如果您想使用絕對路徑打開文件,則可以使用'/Desktop/temp/myfile.txt'
。打開函數的第二個參數是模式(不知道在你的例子中file1
應該是什麼意思)。
關於這個問題 - Python遵循OS方案 - 在當前目錄中查找,並且如果查找模塊,則在以後查找sys.path
。如果你想從一些子目錄打開文件,使用os.path。加入,如:
import os
f = open(os.path.join('Desktop', 'temp', 'myfile.txt'), 'r')
然後,您可以安全地避免與'/'和'\'的混亂。
有關使用打開函數的更多信息,請參閱built-in open function的文檔。
此:
import os
os.path
應該告訴你在哪裏蟒蛇看起來第一。當然,如果你指定絕對路徑(如你所見),那麼這應該不重要。
另外,正如其他人所說,你在開放的第二個參數是錯誤的。爲了找到這樣做的正確方法,試試這個代碼:
help(open)
作品對我來說,檢查你的路徑 – ennuikiller 2009-11-03 16:50:19
@ennuikiller - 真的嗎?它打開了什麼模式? – 2009-11-03 16:52:41
重新標記,因爲這個問題確實不會造成任何解析問題。 – PaulMcG 2009-11-03 18:31:03