r讀w
寫a追加r+ (r+w)
可讀可寫,檔案若不存在就報錯(ioerror)
w+ (w+r)
可讀可寫,檔案若不存在就建立
a+ (a+r)
可追加可寫,檔案若不存在就建立
對應的,如果是二進位制檔案,就都加乙個b:
'rb' 'wb' 'ab' 'rb+' 'wb+' 'ab+'
三種方式:
方法描述
read()/read(size)
一次讀取檔案所有內容,返回乙個str。加入size: 每次最多讀取指定長度的內容,返回乙個str;在python2中size指定的是位元組長度,在python3中size指定的是字元長度
readlines()
一次讀取檔案所有內容,按行返回乙個list
readline()
每次只讀取一行內容
例如:讀下面這個檔案1.txt:
hello
world
!zhj
fly123
(1)read()讀取整個檔案(結果即上面檔案內容):
def read_file():
with open(filepath, 'r') as f:
res = f.read()
print(res)
(2)read(size):
def read_file():
with open(filepath, 'r') as f:
while true:
res = f.read(10)
if not res:
break
print(res, end='')
(3)readlines():
def read_file():
with open(filepath, 'r') as f:
res = f.readlines()
for _res in res:
print(_res, end='')
(4)readline():
def read_file():
with open(filepath, 'r') as f:
while true:
res = f.readline()
if not res:
break
print(res, end='')
寫檔案與讀類似,只是open的時候開啟方式不同。
python檔案物件提供了兩個「寫」方法: write() 和 writelines()。
另外,寫的內容必須是str,否則會報錯。
例如:(1)write寫:
def read_file():
with open(filepath, 'w') as f:
res = 'hello world!'
f.write(res)
(2)writelines寫:
def read_file():
with open(filepath, 'w') as f:
res = ['hello\nworld\nzhj\nfly\n']
f.writelines(res)
結果:
hello
world
zhjfly
使用csv模組讀寫
原檔案:
a 1 2 3
b 4 5 6
c 7 8 9
d 10 11 12
def read_file():
with open(filepath, 'r') as f:
lines = csv.reader(f, delimiter=' ')
for line in lines:
print(line)
結果:
['a', '1', '2', '3']
['b', '4', '5', '6']
['c', '7', '8', '9']
['d', '10', '11', '12']
def read_file():
file = [['a', '1', '2', '3'], ['b', '4', '5', '6'], ['c', '7', '8', '9'], ['d', '10', '11', '12']]
with open(filepath, 'w', newline='') as f:
writer = csv.writer(f, delimiter=' ')
for line in file:
writer.writerow(line
從字串讀取json:
json_obj = json.loads(str, object_pairs_hook=ordereddict)
從檔案讀取json:
with open(filepath, 'r') as f
json_obj = json.load(f, object_pairs_hook=ordereddict)
寫入字串:
str = json.dumps(json_obj, sort_keys=true, indent=4)
寫入檔案:
with open(filepath) as f:
json.dump(json_obj, f, sort_keys=true, indent=4)
Python檔案讀寫
今天在看python檔案讀寫操作,發現python file name mode buffering file 函式用於建立乙個file物件,它有乙個別名叫open 可能更形象一些,它們是內建函式。來看看它的引數。它引數都是以字串的形式傳遞的。name是檔案的名字。mode 是開啟的模式,可選的值為...
python檔案讀寫
檔案讀寫模式 模式 描述 r以讀方式開啟檔案,可讀取檔案資訊。w以寫方式開啟檔案,可向檔案寫入資訊。如檔案存在,則清空該檔案,再寫入新內容 a以追加模式開啟檔案 即一開啟檔案,檔案指標自動移到檔案末尾 如果檔案不存在則建立 r 以讀寫方式開啟檔案,可對檔案進行讀和寫操作。w 消除檔案內容,然後以讀寫...
python 讀寫檔案
python讀寫檔案在文字不大的情況可以用正常的 open 然後讀入 readline行讀入 或者整體讀入 read readlines 基本知識 file open path,r 說明 第乙個引數是檔名稱,包括路徑 第二個引數是開啟的模式mode r 唯讀 預設。如果檔案不存在,則丟擲錯誤 w 只...