python學習(1)txt檔案讀寫

2021-09-09 01:22:16 字數 4610 閱讀 2775

讀取txt檔案(檔案存在)

def read_txt(self, path):

"""讀取txt文字"""

with open(path, 'r') as f:

r = f.readlines()

print('輸出readlines結果', r)

執行結果為:

/users/tracy/pycharmprojects/stu/venv/bin/python /users/tracy/pycharmprojects/stu/stu_rw/stu_rtxt.py

輸出readlines結果 ['這是第一行文字\n', '這是第二行文字\n', '這是第三行文字\n']

process finished with exit code 0

2. 讀取txt檔案(檔案不存在提示異常filenotfounderror)

/users/tracy/pycharmprojects/stu/venv/bin/python /users/tracy/pycharmprojects/stu/stu_rw/stu_rtxt.py

traceback (most recent call last):

file "/users/tracy/pycharmprojects/stu/stu_rw/stu_rtxt.py", line 14, in rw.read_txt('/users/tracy/pycharmprojects/stu/te134324st.txt')

file "/users/tracy/pycharmprojects/stu/stu_rw/stu_rtxt.py", line 7, in read_txt

with open(path, 'r') as f:

filenotfounderror: [errno 2] no such file or directory: '/users/tracy/pycharmprojects/stu/te134324st.txt'

process finished with exit code 1

read()每次讀取整個檔案,它通常用於將檔案內容放到乙個字串變數中。如果檔案大於可用記憶體,為了保險起見,可以反覆呼叫read(size)方法,每次最多讀取size個位元組的內容。

readlines()之間的差異是後者一次讀取整個檔案,象 .read() 一樣。.readlines() 自動將檔案內容分析成乙個行的列表,該列表可以由 python 的 for … in … 結構進行處理。

readline()每次只讀取一行,通常比readlines() 慢得多。僅當沒有足夠記憶體可以一次讀取整個檔案時,才應該使用 readline()。

讀取第一行文字

def read_txt(self, path):

"""讀取txt文字"""

with open(path, 'r') as f:

r = f.readline()

print('輸出readlines結果', r)

讀取結果為:

/users/tracy/pycharmprojects/stu/venv/bin/python /users/tracy/pycharmprojects/stu/stu_rw/stu_rtxt.py

輸出readline結果: 這是第一行文字

process finished with exit code 0

2.讀取所有內容

def read_txt(self, path):

"""讀取txt文字"""

with open(path, 'r') as f:

r = f.read()

print('輸出read結果', r)

執行結果為:

/users/tracy/pycharmprojects/stu/venv/bin/python /users/tracy/pycharmprojects/stu/stu_rw/stu_rtxt.py

輸出read結果 這是第一行文字

這是第二行文字

這是第三行文字

process finished with exit code 0

1. 追加寫入

def write_txt(self, path):

"""寫入文字"""

with open(path, 'a') as f:

f.write('新寫入內容')

執行結果為:

/users/tracy/pycharmprojects/stu/venv/bin/python /users/tracy/pycharmprojects/stu/stu_rw/stu_rtxt.py

輸出read結果 這是第一行文字

這是第二行文字

這是第三行文字

新寫入內容

process finished with exit code 0

覆蓋寫入

def write_txt(self, path):

"""寫入文字"""

with open(path, 'w') as f:

f.write('新寫入內容')

執行結果為:

/users/tracy/pycharmprojects/stu/venv/bin/python /users/tracy/pycharmprojects/stu/stu_rw/stu_rtxt.py

輸出read結果 新寫入內容

process finished with exit code 0

寫入內容的方式file.write(str)的引數是乙個字串,就是你要寫入檔案的內容.

file.writelines(sequence)的引數是序列,比如列表,它會迭代幫你寫入檔案。

寫入陣列

def write_txt(self, path):

"""寫入文字"""

with open(path, 'w') as f:

f.write('新寫入內容')

f.writelines(['寫入第一行內容', '寫入第二行內容', '寫入第三行內容'])

執行結果

/users/tracy/pycharmprojects/stu/venv/bin/python /users/tracy/pycharmprojects/stu/stu_rw/stu_rtxt.py

輸出read結果: 新寫入內容寫入第一行內容寫入第二行內容寫入第三行內容

process finished with exit code 0

操作檔案的時候可以用tell()輸出當前指標,seek(0)將指標移動到指定位置

import time

with open('data.txt','a') as f:

f.write(str(time.time()))

f.write('\n')

with open('data.txt','r') as f2:

print('輸出檔案指標:', f2.tell())

data = f2.read()

print('讀取檔案資料')

print(data)

print('輸出檔案指標:', f2.tell())

print('移動檔案指標')

f2.seek(0)

print('輸出檔案指標:', f2.tell())

執行結果如下:

輸出檔案指標: 0

讀取檔案資料

1551945395.794947

1551945398.333319

1551945399.739969

1551945401.286025

1551945402.553464

1551945403.788851

1551945406.313582

1551945408.46668

1551945410.626225

1551945459.474523

1551945494.169303

1551945512.53795

1551945524.109673

輸出檔案指標: 232

移動檔案指標

輸出檔案指標: 0

java生成txt檔案,讀txt檔案

1.方法1 public static void main string args catch exception e system.out.println write end try filereader.close catch exception e system.out.println rea...

txt檔案讀操作

名稱 product.txt 檔案內容 1 f 開啟檔案product.txt 2 f.readlins 讀出檔案的所有行,每一行乙個字串,例如 iphone 9929 n 3 lines 由每一行變成的字串組成的列表 4 line lines的元素,即上面的字串。5 列印的結果是字串中的內容,即 ...

matlab檔案操作及讀txt檔案

matlab檔案操作 檔案操作是一種重要的輸入輸出方式,即從資料檔案讀取資料或將結果寫入資料檔案。matlab提供了一系列低層輸入輸出函式,專門用於檔案操作。1 檔案的開啟與關閉 1 開啟檔案 在讀寫檔案之前,必須先用fopen函式開啟或建立檔案,並指定對該檔案進行的操作方式。fopen函式的呼叫格...