1樓:巴巴吖葩琦
open函式中bai
的檔名預設是du尋找當前目錄下的這個zhi檔案如果dao當前目錄下沒有就會報錯。建專議在日常使用屬中寫上絕對路徑(完整路徑)
# -*- encoding:utf-8 -*-with open('a.txt') as f:
res = f.readline()
print(res)
當前目錄下沒有a.txt 下面是報錯
我的d盤下有a.txt這個檔案,並且寫了絕對路徑# -*- encoding:utf-8 -*-with open('d:\\a.txt') as f:
res = f.readline()
print(res)
with open() as f就相當於 f = open()第一種方式會在程式結束後自動**記憶體。可以不用寫f.close()。其餘用法一樣
2樓:匿名使用者
就好象中國也有很多
抄地方有
bai重名的,沒有完整路徑僅du靠名字沒法定位。
一般如果zhi沒有完整路徑的話,會dao在當前目錄下找,沒有就失敗。 當然,如果直接在命令列下敲可執行檔案,還會在path環境變數下找,這種情況沒有完整路徑名也可以。
python open檔案,完整路徑可以開啟,直接用檔名則不能,是為什麼
3樓:匿名使用者
首先,這個路徑分絕對路徑和相對路徑
絕對路徑就是寫詳細的路徑
相對路徑就是相對於程式的檔案路徑
如果你的檔案和程式在同一路徑下則可以直接用檔名
4樓:匿名使用者
嗯,確實是這個問題,os.chdir()到當前工作目錄就可以了。
還有一點疑問就是我在剛在knn的那個資料夾,建立另一個指令碼,用這樣的方式,在執行指令碼的時候輸入資料檔名,是可以開啟的:
from sys import argv
script, filename = argv
txt = open(filename)
print txt.read()
然後再cmd中執行,是可以呼叫的。
好吧,寫著寫著我自己明白了。因為後面說的這個是在cmd中執行的,而cmd是在當前目錄中開啟的,也就是每次輸入命令前都有個:
e:\workfolder\machine learning\python\ml inaction>
即:每條指令都是在當前工作目錄下執行的!這其實也就是您說的os.chdir("workingdir")了!
5樓:匿名使用者
直接檔名python只在本地路徑裡找那個檔案,當然找不到
所以需要用完整路徑
你也可以輸出一下當前路徑對比一下
python的open開啟的是**的檔案啊
6樓:匿名使用者
如果你想以檔名開啟的話,要把這個檔案放在你python檔案同一資料夾內;如果不在同一資料夾內,則需要使用全路徑,如:r"c:\data\text.txt"
7樓:隨風飄揚
因為路復
徑的問題,就像你說的他並制不知道你開啟的檔案路徑。你可以在檔名前面加上絕對路徑。建議學習一下os模組。
你可以先
import os
os.getcwd()看看當前路徑是什麼,如果不是想要的路徑就用os.chdir(r'路徑名')轉移到需要的路徑下,就可以直接輸入檔名稱開啟了。
8樓:匿名使用者
編譯器位置和執行檔案位置,檔名的位置你可以寫絕對路徑就可以了。
9樓:匿名使用者
檔名,是可以指定路徑的,比方d:\1.txt
10樓:匿名使用者
提示的是什麼錯誤抄啊。你貼過來看bai看。
open('檔名','r')用這個方du法開啟,通常是按文字格式打zhi開。
如果是開啟錯誤:
dao可能是語法錯誤,少了引號,也可能是你的反斜槓沒有加轉義的\,也可能是你因為你沒有指定好路徑。它預設只能開啟當前目錄。
如果你啟動了python,可以用這句話知道你的當前目錄import os
print os.path.abspath(".")當然還有其它的辦法知道當前目錄。getcwd似乎是這樣有幾個。
11樓:孟羽然
如果copy檔名是相對路徑名,則是以當前目bai錄為基點的路徑du名。
假設zhi當前路徑為/home/foo,則open('file.txt', 'rb')開啟dao的是/home/foo/file.txt。
當前路徑預設是你啟動程式的目錄,例如:
$ pwd
/home/foo
$ ../goo/bin/look.py
此時,「當前路徑」應該是/home/foo,而不是/home/goo/bin
在程式中,可以通過os.getcwd()獲得當前路徑,也可以利用os.chdir()來改變當前路徑。
最後,如果你讀某檔案沒有訪問許可權,open也是會報錯的(錯誤資訊會詳細提示原因)。
12樓:匿名使用者
其實你可以直接把檔名改為檔案路徑:
file = open (r"d:\file.txt","r+")
注意檔案路徑前的『r』不要忘掉,除非你用 ' / ' 代替 ' \ ' 。
在python裡open無法開啟別目錄的檔案
13樓:匿名使用者
在目錄名的字串前加一個r,或者是將斜框前面加上一個轉義符,變成雙斜槓。
python使用open函式開啟檔案的常用模式
14樓:匿名使用者
要以讀檔案的模式開啟一個檔案物件,使用python內建的open()函式,傳入檔名和標示符:
f = open('/users/michael/test.txt', 'r')
標示符'r'表示讀,這樣,我們就成功地開啟了一個檔案。
如果檔案不存在,open()函式就會丟擲一個ioerror的錯誤,並且給出錯誤碼和詳細的資訊告訴你檔案不存在:
如果檔案開啟成功,接下來,呼叫read()方法可以一次讀取檔案的全部內容,python把內容讀到記憶體,用一個str物件表示:
最後一步是呼叫close()方法關閉檔案。檔案使用完畢後必須關閉,因為檔案物件會佔用作業系統的資源,並且作業系統同一時間能開啟的檔案數量也是有限的:
由於檔案讀寫時都有可能產生ioerror,一旦出錯,後面的f.close()就不會呼叫。所以,為了保證無論是否出錯都能正確地關閉檔案,我們可以使用try ...
finally來實現:
但是每次都這麼寫實在太繁瑣,所以,python引入了with語句來自動幫我們呼叫close()方法:
這和前面的try ... finally是一樣的,但是**更佳簡潔,並且不必呼叫f.close()方法。
呼叫read()會一次性讀取檔案的全部內容,如果檔案有10g,記憶體就爆了,所以,要保險起見,可以反覆呼叫read(size)方法,每次最多讀取size個位元組的內容。另外,呼叫readline()可以每次讀取一行內容,呼叫readlines()一次讀取所有內容並按行返回list。因此,要根據需要決定怎麼呼叫。
如果檔案很小,read()一次性讀取最方便;如果不能確定檔案大小,反覆呼叫read(size)比較保險;如果是配置檔案,呼叫readlines()最方便;
python使用open命令開啟檔案失敗
15樓:匿名使用者
確認下bai你的1.txt 到底在哪兒?
duwindows環境下 是用反斜
zhi槓 \
open('c:\\xx1\\xx2\\x.txt')open(r'c:\xx1\xx2\x.txt')你的第四次語法是
dao沒問題內的,報的是檔案不存在
如果不指容定目錄
open('1.txt') 會到執行這條語句的當前目錄下找你的1.txt 很有可能在c:\users\chenl 下,,不知道我猜的對不
python用tkinter模組怎麼開啟檔案
tkinter是標準的python gui庫。python與tkinter的結合提供了一個快速和容易的方法來建立gui應用程式,tkinter的提供了一個強大的物件導向的介面tk的gui工具包。python 開啟檔案可以用open命令,例如 電子書txt文字 f open e test.txt en...
如何open 有資料的esds檔案
有關於excel表裡資料分析方法的 或者其它格式的資料嗎?比如像做資料透視這樣的。只是簡單的做個透視表,直接看幫助啊,裡頭例子舉得挺好的。excelhome,你去這個論壇吧,很好的。excel vba 執行一個巨集,可以開啟對話方塊選擇檔案,並將選擇的工作簿裡的資料資料匯入貼上 既然僅轉換格式,對內...
vsd檔案用什麼軟體開啟,VSD檔案用什麼軟體開啟?
visio可以。就和word的doc檔案類似,要開啟vsd檔案的話,裝個visio就可以了,visio屬於office系列,但是一般專 安裝的office套件屬裡面不包含visio,需要單獨安裝。之後inter explorer會開啟,visio viewer 在瀏覽器視窗中顯示該繪圖。使用工具欄按...