1. 程式人生 > >Python(44)_檔案操作

Python(44)_檔案操作

1  r+ 讀寫模式:先讀後寫

#-*-coding:utf-8-*-
'''
讀寫-先讀後寫
'''
f = open('log.txt',mode='r+',encoding='utf-8')
print(f.read())
f.write('bowen123')
f.close()

 


2   r+模式下先寫後讀

#-*-coding:utf-8-*-
'''
讀寫--先寫再讀 會把之前的從頭開始覆蓋,讀時候讀之前沒有覆蓋的。如果全部覆蓋,是讀不出東西的!
'''
f = open('log.txt',mode='r+
',encoding='utf-8') f.write('bbbbb') print(f.read()) f.close()


3  r+b

#-*-coding:utf-8-*-
'''
讀寫--r+b模式,這種寫是在後面追加,不是覆蓋
'''
f = open('log.txt',mode='r+b')
print(f.read())
f.write('bowen'.encode('utf-8'))
f.close()


4   a+

#-*-coding:utf-8-*-
'''
讀寫--先寫再讀
'''
f = open('
log.txt',mode='a+',encoding='utf-8') f.write('bowen') f.seek(0) # 這句一定要加,否則讀的時候游標是在末尾,是讀最後是讀不到的!! print(f.read()) f.close()


5    w+   寫讀--覆蓋模式 。這裡省略


6  seek() 函式,注意中文時的引數

#-*-coding:utf-8-*-
'''
seek(0) 
'''
f = open('log.txt',mode='a+',encoding='utf-8')
#f.write('bowen')
print(content) f.seek(3) # 這句一定要加,否則讀的時候游標是在末尾,是讀最後是讀不到的!! print(f.read()) f.close()


7   read()  函式 按照字元長度來比

#-*-coding:utf-8-*-
'''
read(0)
'''
f = open('log.txt',mode='r+',encoding='utf-8')
content = f.read(3)
print(content)
f.close()


tell()定位游標位置

#-*-coding:utf-8-*-
'''
tell()定位游標位置
'''
f = open('log.txt',mode='r+',encoding='utf-8')
count = f.tell()
print(count)
f.seek(count+3)
print(f.read())
f.close()


9   readable()  是否可讀。writeable() 是否可寫

10  readline()

#-*-coding:utf-8-*-
'''
f.readline(),只能讀一行
'''
f = open('log.txt',mode='r+',encoding='utf-8')
print(f.readline())
f.close()


11  f.readlines()

#-*-coding:utf-8-*-
'''
f.readlines() ,每一行當成列表中的元素,想讀可以用for迴圈遍歷列表
'''
f = open('log.txt',mode='r+',encoding='utf-8')
print(f.readlines())
f.close()


12  f.truncate(3),從後往前把原始檔擷取,永久改變了原始檔

#-*-coding:utf-8-*-
'''
f.truncate(3),從後往前把原始檔擷取,永久改變了原始檔,原始檔是博文你好
'''
f = open('log.txt',mode='r+',encoding='utf-8')
#print(f.readlines())
# for li in f:
#     print(li)
f.truncate(3)
print(f.read())
f.close()


13   for迴圈列印列表

#-*-coding:utf-8-*-
'''
for迴圈列印列表
'''
f = open('log.txt',mode='r+',encoding='utf-8')
list=f.readlines()
for li in list:
     print(li)
f.close()


14  with open

#-*-coding:utf-8-*-
'''
f是檔案控制代碼,這種方式常用,不用寫close了,可以同時開啟多個操作檔案,加個,open....
'''
with open('log.txt',mode='r+',encoding='utf-8') as f, open('傻逼.txt',mode='r+',encoding='utf-8') as b:
    print(b.read())
    list=f.readlines()
    for li in list:
        print(li)