導航:首頁 > 編程語言 > python文件操作相對路徑

python文件操作相對路徑

發布時間:2023-09-29 21:50:04

A. python文件執行路徑問題

如果程序需要使用一些配置文件時,一般也是用相對路徑的,這樣也容易出問題,這時需要在啟動程序時切換到程序所在的路徑。
sys.path[0] 是程序所在的目錄,在程序開頭處加上 os.chdir(sys.path[0]) 就可以了。
如果是使用 py2exe 打包的程序,sys.path[0] 值是 路徑名\library.zip , 再處理一下這個就可以:
ddir = sys.path[0]
if os.path.isfile(ddir):
ddir,filen = os.path.split(ddir)
os.chdir(ddir)

B. python讀寫文件

讀文件

    1)使用open()方法打開文件,返回一個文件對象

        原型:open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True)

        舉例:f = open('test.txt', 'r')

        test.txt表示文件路徑(包含文件名,這個file參數可以是絕對或者相對路徑)

        r表示是讀文本文件,rb是讀二進制文本文件。(這個mode參數默認值就是r)

    2)使用close()方法關閉文件

        f.close()

        打開後的文件必須關閉,因為文件對象會佔用系統資源,系統打開文件數量也就有限了

    3)打開文件時的異常處理

        f=open('test.txt', 'r')

        f.read()

        f.close()

        FileNotFoundError: [Errno 2] No such file or directory: 'test.txt'

        文件讀寫時都有可能產生異常IOError(比如文件不存在),這樣其後面的f.read(),f.close()就不會調用。為保證無論是否異常都可以關閉文件,一般使用try ... finally來處理:

        try:

            f = open('test.txt', 'r')

            f.read()

        finally:

            if f:

                f.close()

        但這種寫法過於繁瑣,所以Python引入了with語句來自動調用close()方法:

        with open('test.txt', 'r') as f:

            f.read()

    4)讀文件 - read()、readline() 和 readlines()

        read() 一次讀取整個文件,它通常用於將文件內容放到一個字元串變數中。如果文件過大,內存不夠,可以通過反復調用read(size)方法,每次最多讀取size個位元組的內容。

        readline() 一次讀取文件中一行內容,可反復調用

        readlines() 一次讀取所有內容並按行返回列表,該列表可以由for ... in ... 結構再進一步處理。

        特別注意:

        這三種方法是把每行末尾的'\n'也讀進來了,如有需要就得我們手動去掉'\n'

        with open('test.txt', 'r') as f:

            list = f.readlines()

        for i in range(0, len(list)):

            list[i] = list[i].rstrip('\n')

寫文件

    1)寫文件和讀文件是一樣的,唯一區別是open文件時,傳入標識符不同,即'w'或者'wb'表示寫文本文件或寫二進制文件

    f = open('test.txt', 'w')

    f = open('test.txt', 'wb')

    f = open('test.txt', 'a')

    f.close()

    特別注意:

    1. 如果沒有這個文件,會自動創建一個新文件;如果有,就會先把原文件的內容清空再寫入;若不想清空原來的內容而是直接在後面追加新的內容,就用'a'這個模式

    2. 寫文件,操作系統往往不會立刻把數據寫入磁碟,而是放到內存緩存起來,空閑的時候再慢慢寫入。只有調用close()方法時,操作系統才保證把沒有寫入的數據全部寫入磁碟。忘記調用close()的後果是數據可能只寫了一部分到磁碟,剩下的丟失了。

    2)寫文件 - write()、writelines()

    write()方法和read()、readline()方法對應,是將字元串寫入到文件中。

    writelines()方法和readlines()方法對應,也是針對 列表 的操作。它接收一個 字元串列表 作為參數,將他們寫入到文件中。

    特別注意:

    換行符不會自動的加入,需要顯式的加入換行符。

    f = open('test.txt', 'w')

    f.writelines(["111\n", "222\n", "333\n"])

補充說明:

1)對於非默認編碼(utf-8)的文件,需要open時添加encording參數,選擇對應的編碼方式

2)r+, w+, a+,可讀可寫

3)seek()方法,移動文件指針

seek(offset[, whence]) ,offset是相對於某個位置的偏移量。位置由whence決定,默認whence=0,從開頭起;whence=1,從當前位置算起;whence=2相對於文件末尾移動,通常offset取負值。

C. python中的「絕對路徑」和「相對路徑」如何理解

相對路徑是相對腳本文件來的。

比如腳本在C:/python目錄下,相同目錄下有一個文件叫test.txt

那麼絕對路徑就是 C:/python/test.txt,相對路徑就是test.txt

使用腳本 open('C:/python/test.txt','r') 和 open('test.txt','r')效果都是一樣的

D. python讀取文件相對路徑

比如你在和當前文件並列的"game"文件夾下有"score.txt"文件,那麼相對路徑表示為:
"game/score.txt"
就是和這個py文件並列的文件夾前面不需要加"/",後面的都需要加,別忘了加上後綴。
例:
with open("game/score.txt", mode = "a+", encoding = "utf-8") as f:
score = f.readline()

E. python中的絕對路徑和相對路徑均如何理解呢

Python中的絕對路徑和其他語言並無區別。
Python中的相對路徑則有所不同,一般語言的相對路徑的父目錄指的是文件所在目錄,而Python的相對路徑的父目錄指的是當前腳本執行目錄。舉個簡單的例子:我有一個放在/xyz/bin目錄下的腳本 test.py。那麼他的絕對路徑就是/xyz/bin,如果你在你的test腳本中使用了相對路徑的話,那麼test.py中的相對路徑是根據腳本執行時你的當前目錄所決定的。比如,如果你在/xyz/bin目錄下還有一個文件test.txt,這是test.py中所使用的文件,那麼在/xyz/bin目錄下執行./test.py是沒有問題的。但是如果你在其他目錄執行python /xyz/bin/test.py,如果其他目錄沒有test.txt文件,那麼必然會報錯。因為此時相對路徑的父目錄已經不是/xyz/bin了,自然找不到/xyz/bin/test.txt。

F. python絕對路徑和相對路徑怎麼寫

python寫絕對路徑和相對路徑的方法:

絕對路徑是指從系統盤一直到文件所在位置的路徑,例如:「D:xmtitleprojectpycnvideo.txt」

相對路徑是指相對於.py文件的路徑,例如:「pycnvideo.txt」

示例如下:

相對地址

file = open("ax.txt", 'r')
a = file.read()
print("a =", a)
file.close()
絕對地址
file2 = open("C:UserszhoubDesktop項目ax.txt", 'r')
b = file2.read()
print("b =", b)
file2.close()

執行結果如下:

想了解更多python知識,請觀看零基礎入門Python項目實戰視頻!!

G. python相對路徑怎麼寫

相對路徑
同級目錄 -----------直接調用文件名
with open(pi.txt') as file_object:
contents=file_object.read()
print(contents.rstrip())

下一級目錄 ----------- 調用程序文件以下的路徑
with open('next/pi.txt') as file_object:
contents=file_object.read()
print(contents.rstrip())

上級目錄-----------…/接文件名或路徑
with open('../pi_digits.txt') as file_object:
contents=file_object.read()
print(contents.rstrip())

閱讀全文

與python文件操作相對路徑相關的資料

熱點內容
程序員投行 瀏覽:313
java多線程讀取文件 瀏覽:145
香港外貿伺服器有什麼好處 瀏覽:612
鄧倫參加密室大逃脫結果變成團寵 瀏覽:847
購買文件伺服器怎麼選擇 瀏覽:720
空調壓縮機高壓報警 瀏覽:498
u盤數控程序放哪個文件夾 瀏覽:853
python模擬微信登錄其他APP 瀏覽:301
綁扎鋼筋加密區規范 瀏覽:671
怎麼更換手機壁紙安卓 瀏覽:808
閑魚app賣手機怎麼走驗機 瀏覽:821
安卓三個按鍵音怎麼關閉 瀏覽:64
esp8266手機app源碼 瀏覽:713
伺服器如何建立多個站點 瀏覽:151
加密狗可以在筆記本上做賬嗎 瀏覽:888
學生雲伺服器推薦 瀏覽:509
android銀行卡快捷支付 瀏覽:828
海口手機直播系統源碼 瀏覽:416
怎麼給加密貨幣加圖標 瀏覽:999
phpheader編碼 瀏覽:766