首頁 >後端開發 >Python教學 >Python對檔案操作知識

Python對檔案操作知識

高洛峰
高洛峰原創
2017-03-02 16:44:271128瀏覽

這篇文章主要介紹了Python對文件操作知識總結的相關資料,非常具有參考借鑒價值,需要的朋友可以參考下

打開文件

操作文件

1開啟檔案時,需要指定檔案路徑與開啟方式

#開啟方式:

#r:只讀
w:只寫
a:追加

「+」表示可以同時讀寫某個檔案

r+:讀寫
w+:寫讀
a+:同a

U "表示在讀取時,可以將\r \n \r\n自動轉換成\n (與r 或r+ 模式同使用)

rU
r+U

"b"表示處理二進位檔案(如:FTP傳送上傳ISO鏡像文件,linux可忽略,windows處理二進位檔案時需標註)

rb
wb
ab

#
f = open('test.log','r+',encoding='utf-')
f.write('saf中sdhgrbfds')
print(f.tell()) #查看当前指针位置,以字符为单位
f.seek() #指定当前指针位置,以字节为单位
print(f.read())
f.truncate() #读取指针之前的数据
print(f.tell())
f.close()

二:常見的檔案運算

#f = open('data', 'r') #以唯讀形式開啟(預設就是唯讀)
f = open('f.txt', encoding='latin-1') #python3.0 Unicode檔
string = f.read() #把檔案讀入一個字串中
string = f.read(N) #讀取指標後的N個位元組
string = f.readline() #讀取下一行,包括行末標識符
alist = f.readlines() #讀取整個檔案到字串清單
f.write() #將字串寫入檔案
f.writelines() #將清單內所有字串寫入文件
f.close() #手動關閉
f.flush() #把輸出緩衝區刷到硬碟中
f.seek(N) #將檔案指標移到N處,以位元組為單位
for line in open('data'):
print(line) #檔案迭代器將檔案一行行讀出
open('f.txt','r').read() #read all at ance into string

三:在檔案中儲存並解析python物件

x,y,z = 41,42,43
s = 'spam'
D = {'a':1, 'b':2} #字典对象
L = ['a','b','c'] #列表
f = open('f.txt','w')
f.write(s + '\n')
f.write('%s,%s,%s\n'%(x,y,z))
f.write(str(D))
f.write('\n')
f.write(str(L))
f.close()
print(open('f.txt').read()) #将文件内容输出
#从文件中取出数据,并判断其类型
'''
a = fi.readline()
b = fi.readline()
c = fi.readline()
d = fi.readline()

print(a,b,c,d,type(a),type(b),type(c),type(d))
'''
# 从文件中取出数据,并转换为存储前的类型
fi = open('f.txt')
a = fi.readline().rstrip() #rstrip()去掉换行符
print(a,type(a))
b = fi.readline().rstrip().split(',') #字符串的split()方法,在括号中写入分隔符,将字符串分割为列表。
print(b,type(b))
c = fi.readline()
C = eval(c) #调用内置函数eval(),将字符串转化为可执行的python代码。
print(C,type(C),type(c))
d = fi.readline()
D = eval(d)
print(D,type(D),type(d))



######################################################################################################### ####以上所述是小編給大家介紹的Python對文件操作知識總結的相關知識,希望對大家有幫助!網! ################
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn