當前位置:首頁 » 編程語言 » python讀取多個文件

python讀取多個文件

發布時間: 2023-04-16 00:30:04

python 多個文件怎麼調用

同時打開三個文件,文件行數一樣,要求實現每個文件依次讀取一行,然後輸出,我們先來看比較容易想到的寫法:

with open(filename1, 'rb') as fp1:
with open(filename2, 'rb') as fp2:
with open(filename3, 'rb') as fp3:
for i in fp1:
j = fp2.readline()
k = fp3.readline()
print(i, j, k)

注意這里只能對單個文件進行for循環讀取,不能寫成:

for i, j, k in fp1, fp2, fp3:
print(i, j, k)

但可使用強大的zip操作:

for i, j, k in zip(fp1, fp2, fp3):
print(i, j, k)

這樣層層的嵌套未免啰嗦,with結構支持一種更簡潔的寫法:

with open(filename1, 'rb') as fp1, open(filename2, 'rb') as fp2, open(filename3, 'rb') as fp3:
for i in fp1:
j = fp2.readline()
k = fp3.readline()
print(i, j, k)

或者使用更為優雅的寫法,此時需要contextlib語法糖:

from contextlib improt ExitStack
with ExitStack() as stack:
files = [stack.enter_context(open(fname)) for fname in [filename1, filename2, filename3]]
for i, j, k in zip(files[0], files[1], files[2]):
print(i, j, k)

㈡ Python文件讀寫

常見的讀寫操作:

Python內置了讀寫文件的函數,用法和C是兼容的。本節介紹內容大致有:文件的打開/關閉、文件對象、文件的讀寫等。僅示例介紹 TXT 類型文檔的讀寫,也就是最基礎的文件讀寫,也需要注意編碼問題;

open()   close()     with open(...) as ...

看以下示例就能了解 Python 的 open() 及 close() 函數。這邊調用 read()方法可以一次讀取文件的全部內容,Python把內容讀到內存,用一個str對象表示,具體使用參見下文。

在 E 盤 python_file 文件夾下新建一 a.txt,輸入隨意,如下:

Python 操作 打開及關閉方式 如下:

注意 open() 之後 一定要 close()。但由於文件讀寫時都可能產生IOError,為了保證無論是否出錯都能正確地關閉文件,我們用 try ... finally 來實現:

python 簡化了改寫法,即用 with open(...) as ...  ; 建議之後文件讀寫都用該寫法:

上面,你肯定注意到了參數 "r";該參數決定了打開文件的模式:只讀,寫入,追加等。所有可取值見如下的完全列表。這個參數是非強制的,默認文件訪問模式為只讀(r)。

相關參數:

File 對象

file 為一對象,它有一些內置屬性,如下

file對象的屬性:

read()    read(size)   readline()   readlines()

之前的例子已經接觸到了 read() 函數,該函數會會一次性讀取文件的全部內容,如果能確保文件的大小,自然可以。但若文件過大,內存就爆了,所以,可以反復調用read(size)方法,每次最多讀取size個位元組的內容;也可調用 readline() 每次讀取一行內容;而調用readlines()可以一次讀取所有內容並按行返回list。總之,根據需求來。僅以 txt 文件為例,其他的文件讀取需要特殊處理;另外,文件的格式編碼方式也需要注意;這邊僅介紹讀取方法,其他的會出專題來學習。

在D:\python_file 下新建 poet.txt;示例如下,由於一個中文會佔多個位元組,故read(size) 部分會亂碼,如:

write()

寫文件和讀文件是一樣的,唯一區別是調用open()函數時,傳入標識符'w'或者'wb'表示寫文本文件或寫二進制文件;'a' 對應的表示追加等。

如下示例,由於 write.txt 文件不存在,創建該文件並寫入:

在上例基礎上,繼續,該文件被重寫:

繼續,這次使用追加,會在文件結尾追加:

https://blog.csdn.net/msspark/article/details/86745391

https://www.cnblogs.com/tianyiliang/p/8192703.html

https://www.cnblogs.com/camilla/p/7234657.html

https://blog.csdn.net/songlh1234/article/details/83316468

https://www.php.cn/python-tutorials-412484.html

https://blog.csdn.net/weay/article/details/80946152

https://blog.csdn.net/xc_zhou/article/details/81044836

㈢ python如何從一個文件夾中讀取多個.dat文件

用glob模塊,指定後綴.dat,即可。

importglob

dir='homeyour_data_file'
forfinglob.glob(dir+'*.dat'):
contents=open(f,'r').read()

㈣ python同時讀寫多個文件暨大型json文件讀取方法

最近處理NLP數據集時,需要一邊讀json文件,一邊向自己創建的txt寫入提取出的對話數據集,即同時讀寫多個文件,本來記得以前在哪看過這波操作的,但時間有點久了,忘了。

又由於新換了mac,win上原有的梯子掛了,這就很離譜,因此也沒法谷歌,只能用網路湊合著查了一番,看看有沒有大佬記錄了這個小tip。但是很遺憾,網上找到的方法都很撈,簡直是海底撈,沒辦法。好在腦子里還有點印象,修修改改總算寫出來了,在此做個記錄,同時也開源方便一下諸位道友。

你是不是覺得我很撈,很菜,連個文件讀寫都不會~
那麼,對不起,諸位,現在,我要起飛了,你以為你是第二層,我是第一層,實際上,我在第五層,且看我寫給你看~

最後,如果有道友對俺的開放域對話數據集感興趣,這個其實也是開源的
數據集鏈接

㈤ Python讀取文件內容的方法有幾種

filename=open('i:\\install\\test.txt','r+')#讀取xx路徑xx文件;r+代表的是讀寫並存方式 print filename.read()#讀取所有的文件

熱點內容
centos升級python27 發布:2024-11-02 02:00:57 瀏覽:673
ue4未找到編譯器 發布:2024-11-02 01:46:08 瀏覽:155
python中的withopen 發布:2024-11-02 01:46:07 瀏覽:976
編程名人 發布:2024-11-02 01:42:18 瀏覽:867
伺服器電腦配置表 發布:2024-11-02 01:41:29 瀏覽:370
linux使用串口 發布:2024-11-02 01:37:11 瀏覽:702
二維碼掃的密碼從哪裡開始 發布:2024-11-02 01:24:57 瀏覽:473
如何將手錶改成開放式安卓系統 發布:2024-11-02 01:09:00 瀏覽:739
6s還能用嗎能和什麼安卓機比 發布:2024-11-02 01:08:09 瀏覽:765
SQL擴位 發布:2024-11-02 00:55:35 瀏覽:447