當前位置:首頁 » 編程語言 » Python3文件

Python3文件

發布時間: 2023-06-16 10:02:49

A. python3 & 如何在Python中寫文件路徑

Python中文件路徑共分為兩種:絕對路徑和相對路徑
1、絕對路徑就是文件的真正存在的路徑,是指從硬碟的根目錄(盤符)開始,進行一級級目錄指向文件。
2、 相對路徑是以當前文件為基準進行一級級目錄指向被引用的資源文件。
其中大小寫不影響windows定位到文件

python 文件路徑書寫方式有兩種:
方法一:使用轉義字元
filePath = 'E:\Temp\test'

方法二:使用r聲明字元串
filePath = r'E:\Temp\test'
上述寫法中"\ 「為字元串中的特殊字元,加上r後變為原始字元串,則不會對字元串中的」\t"、"\r" 進行字元串轉義。

B. Python3 輸入輸出和File(文件) 方法

Python兩種輸出值的方式: 表達式語句和 print() 函數。第三種方式是使用文件對象的 write() 方法,標准輸出文件可以用 sys.stdout 引用。
如果你希望輸出的形式更加多樣,可以使用 str.format() 函數來格式化輸出值。如果你希望將輸出的值轉成字元串,可以使用 repr() 或 str() 函數來實現。
str(): 函數返回一個用戶易讀的表達形式。
repr(): 產生一個解釋器易讀的表達形式。

str.format() 的使用

讀取鍵盤輸入
Python 提供了 input() 內置函數,從標准輸入讀入一行文本,默認的標准輸入是鍵盤。

open() 用於打開一個文件,並返迴文件對象,基本語法格式如下:
open(filename, mode='r')
完整的語法格式為:
open(filename, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
參數說明:
filename: 必需,文件路徑+文件名稱(相對或者絕對路徑)
mode: 可選,文件打開模式:只讀,寫入,追加等,默認模式為只讀(r)
buffering: 設置緩沖
encoding: 一般使用utf8
errors: 報錯級別
newline: 區分換行符
closefd: 傳入的file參數類型
opener: 設置自定義開啟器,開啟器的返回值必須是一個打開的文件描述符。
不同模式mode打開文件的說明:
t 文本模式 (默認的模式)
b 二進制模式,一般用於非文本文件如圖片等
x 寫模式,新建一個文件,如果該文件已存在則會報錯
+ 打開一個文件進行更新(可讀可寫)
r 以只讀方式打開文件。文件的指針將會放在文件的開頭。是默認模式。
rb 以二進制格式打開一個文件用於只讀。文件指針將會放在文件的開頭。
r+ 打開一個文件用於讀寫。文件指針將會放在文件的開頭。
rb+ 以二進制格式打開一個文件用於讀寫。文件指針將會放在文件的開頭。
w 打開一個文件只用於寫入。如果該文件已存在則打開文件,並從開頭開始編輯,即原有內容會被刪除。如果該文件不存在,創建新文件。
wb 以二進制格式打開一個文件只用於寫入。如果該文件已存在則打開文件,並從開頭開始編輯,即原有內容會被刪除。如果該文件不存在,創建新文件。
w+ 打開一個文件用於讀寫。如果該文件已存在則打開文件,並從開頭開始編輯,即原有內容會被刪除。如果該文件不存在,創建新文件。
wb+ 以二進制格式打開一個文件用於讀寫。如果該文件已存在則打開文件,並從開頭開始編輯,即原有內容會被刪除。如果該文件不存在,創建新文件。
a 打開一個文件用於追加。如果該文件已存在,文件指針將會放在文件的結尾,新的內容將會被寫入到已有內容之後。如果該文件不存在,創建新文件進行寫入。
ab 以二進制格式打開一個文件用於追加。如果該文件已存在,文件指針將會放在文件的結尾,新的內容將會被寫入到已有內容之後。如果該文件不存在,創建新文件進行寫入。
a+ 打開一個文件用於讀寫。如果該文件已存在,文件指針將會放在文件的結尾。文件打開時會是追加模式。如果該文件不存在,創建新文件用於讀寫。
ab+ 以二進制格式打開一個文件用於追加。如果該文件已存在,文件指針將會放在文件的結尾。如果該文件不存在,創建新文件用於讀寫。

f.write(string) 將 string 寫入到文件中, 然後返回寫入的字元數
f.writelines(sequence) 向文件寫入一個序列字元串列表,如果需要換行則要自己加入每行的換行符。

f.read(size) 讀取一定數目的數據, 然後作為字元串或位元組對象返回。size 是一個可選參數。當 size 參數忽略或者為負, 那麼該文件的所有內容都將被讀取並且返回。
f.readline() 從文件中讀取單獨的一行。換行符為 '\n'。讀取整行,包括 "\n" 字元。f.readline() 如果返回一個空字元串, 說明已經讀取到最後一行。
f.readlines([sizeint])] 讀取所有行並返回列表類型,若給定sizeint>0,返回總和大約為sizeint位元組的行, 並且將這些位元組按行分割。實際讀取值可能比 sizeint 較大, 因為需要填充緩沖區。

f.tell() 返迴文件對象當前所處的位置, 它是從文件開頭開始算起的位元組數。
f.seek() 移動文件讀取指針到指定位置,如果要改變文件當前的位置, 可以使用f.seek(offset, from_what) 函數。from_what 的值(默認為0), 如果是 0 表示開頭, 如果是 1 表示當前位置, 2 表示文件的結尾,例如:
seek(x,0) : 從起始位置即文件首行首字元開始移動 x 個字元
seek(x,1) : 表示從當前位置往後移動x個字元
seek(-x,2):表示從文件的結尾往前移動x個字元

file.flush() 刷新文件內部緩沖,直接把內部緩沖區的數據立刻寫入文件, 而不是被動的等待輸出緩沖區寫入
file.fileno() 返回一個整型的文件描述符(file descriptor FD 整型), 可以用在如os模塊的read方法等一些底層操作上
file.isatty() 如果文件連接到一個終端設備返回 True,否則返回 False
file.truncate([size]) 從文件的首行首字元開始截斷,截斷文件為 size 個字元,無 size 表示從當前位置截斷;截斷之後後面的所有字元被刪除,其中 windows 系統下的換行代表2個字元大小。
f.close() 關閉文件並釋放系統的資源。關閉後文件不能再進行讀寫操作,否則會拋出異常
當處理一個文件對象時, 使用 with 關鍵字是非常好的方式。在結束後, 它會幫你正確的關閉文件。 而且寫起來也比 try - finally 語句塊要簡短:

python的pickle模塊實現了基本的數據序列和反序列化。通過pickle模塊的序列化操作能夠將程序中運行的對象信息保存到文件中去,永久存儲。通過pickle模塊的反序列化操作能夠從文件中創建上一次程序保存的對象。
基本介面:
pickle.mp(obj, file, [,protocol])
有了 pickle 對象, 就能對 file 以讀取的形式打開:
x = pickle.load(file)
從 file 中讀取一個字元串,並將它重構為原來的python對象。
示例:使用pickle模塊將數據對象保存到文件

示例:使用pickle模塊從文件中重構python對象

C. Python3文件重命名

因為你沒有「E:/tensorflow/初賽訓練數據/test/callreason」該目錄

你應該在代碼里加入對目錄的判定

具體代碼如下

#-*-coding:utf-8-*-

#coding=utf-8
importos
ul=r"E:/tensorflow/初賽訓練數據/test/callreason"

folder=os.path.exists(ul)
ifnotfolder:#判斷是否存在文件夾如果不存在則創建為文件夾
os.makedirs(ul)

filenamelist=os.listdir(ul)
foryinrange(len(filenamelist)):
f=open(ul+'/'+filenamelist[y],"r",encoding='utf-8')
modname=f.readline()
f.close()
newurl=ul+"/"+modname[:-1]+".txt"
os.rename(os.path.join(ul,filenamelist[y]),newurl)
print("執行成功")

執行結果<注意紅色框里的代碼,這就是需要你加入的代碼,用於判斷目錄是否存在>:

D. Python3讀取大文件的方法

1.方法一:利用yield生成器

2. 方法二:利用open()自帶方法生成迭代對象,這個是早租一行一行的讀取

總結:二者的比較

方法一:可以靈活控制一次讀取的size,在速度上較2有優勢,適用於一些大的和睜盯二進制文件,比如讀取一些大的視頻或者圖片等。

方法二:在處理一喚和些文本的時候感覺更加便利,按行讀更容易對文本進行處理。

E. python3在文件夾中查找指定文件方法封裝

不是人人都能活的低調,可以低調的基礎是隨時都能高調。

上一篇: configobj讀寫.ini配置文件方法封裝
下一篇: python3使用hmac、hashlib加密字元串方法封裝

本篇文章介紹一種方法在文件夾中查找指定文件:
1、方法【get_all_file】:根據給出的路徑進行遞歸,找到文件夾下所有的文件,以生成器的方式返回(佔用內存低),也可以添加到列表(list)(佔用內存高)。
2、方法【expand_list】:遞歸嵌套列表,展開列表,此步驟根據數據結構,如果自己的文件的地址是多層嵌套的列表,可以使用該方法展開列表。
3、方法【find_file】:查找指定文件。

以上方法根據自己的需求進行選擇使用,有不足的地方,請各位大佬指出。

如果感覺本文對您有幫助可以點個贊哦

本文僅供交流學習,請勿用於非法途徑

僅是個人意見,如有想法,歡迎留言

熱點內容
android訪問網路許可權 發布:2025-02-12 14:55:20 瀏覽:88
原神文件夾 發布:2025-02-12 14:50:15 瀏覽:800
c語言數字翻譯 發布:2025-02-12 14:45:54 瀏覽:497
暗區突圍為什麼顯示伺服器維修 發布:2025-02-12 14:45:53 瀏覽:247
翻譯分為匯編和編譯 發布:2025-02-12 14:29:12 瀏覽:233
什麼是新聞編譯 發布:2025-02-12 14:23:12 瀏覽:853
如何查看手機存儲 發布:2025-02-12 14:21:15 瀏覽:50
cacti自定義腳本 發布:2025-02-12 14:21:13 瀏覽:313
編譯安卓步驟 發布:2025-02-12 14:19:39 瀏覽:222
php把數組分組 發布:2025-02-12 14:19:37 瀏覽:280