国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python的文件操作方法匯總

2020-01-04 16:30:27
字體:
來源:轉載
供稿:網友

文件的讀操作

示例:

 print("->文件句柄的獲取,讀操作:")  f = open('無題','r',encoding='utf8') d = f.read() f.close() print(d)  print('->例二:') f = open('無題','r',encoding='utf8') e = f.read(9) f.close() print(e) #python/284160.html">python3中,文件中一個中英文都占位1

運行結果:

復制代碼

->文件句柄的獲取,讀操作:昨夜星辰昨夜風畫樓西畔桂堂東身無彩鳳雙飛翼心有靈犀一點通->例二:昨夜星辰昨夜風畫

文件的寫操作

知識點:

    1. 寫操作前,文件先格式化清空文件

    2.清空操作,在執行open的w方法后,清空

print("寫的操作,寫文件的時候,不能調用讀方法,讀文件的時候,不能調用寫方法") f = open('python','w',encoding='utf8')f.write("I must learn python /nbecause, python is important /n")f.write("java is better?")f.write("maybe") #上面的語句,沒有加換行符,所以輸出的內容是緊接的f.close()

運行結果:

打開文件后顯示如下

I must learn python because, python is important java is better?maybe

文件的append方法

語法格式:

f = open('文件名','a','encoding = utf8')

文件這種方法為追加模式:1, 空白文件中,直接從頭開始寫入內容; 2 有內容的文件,會在末尾開始繼續寫入內容

示例:

f = open('python','a',encoding='utf8')f.write("花開又花落")f.close()

運行結果:

I must learn python because, python is important java is better?maybe花開又花落 

readline 和 readlines

 readline是逐行讀取

readlines是全文讀取

示例:

 print("readline方法") f = open('無題','r',encoding='utf8') a = f.readline() print("此時光標位置:",f.tell()) b = f.readline() print("此時光標位置:",f.tell()) print(a.strip()) #strip是字符串方法中去除空格和換行的方法 print(b.strip())   print("readlines方法,會將每行的內容組成一個列表打印") f = open('無題','r',encoding='utf8') c = f.readlines() print(c) print(id(c)) print(id(f)) for i in c:  print(i.strip()) print("遍歷方法") f.seek(0) for i in f:  print(i.strip()) f.close() #文件的操作中,close()方法一定不能忘記

運行結果:

readline方法此時光標位置: 23此時光標位置: 46昨夜星辰昨夜風畫樓西畔桂堂東readlines方法,會將每行的內容組成一個列表打印['昨夜星辰昨夜風/n', '畫樓西畔桂堂東/n', '身無彩鳳雙飛翼/n', '心有靈犀一點通']378268245344280昨夜星辰昨夜風畫樓西畔桂堂東身無彩鳳雙飛翼心有靈犀一點通遍歷方法昨夜星辰昨夜風畫樓西畔桂堂東身無彩鳳雙飛翼心有靈犀一點通

文件的tell() 和 seek()方法

 示例:

f = open('無題','r',encoding='utf8')f.read(4)print('當前光標位置',f.tell())f.seek(10)print('當前光標位置',f.tell())f.close()#read時,一個中文算三個字符

運行結果:

當前光標位置 12
當前光標位置 10

文件操作之flush方法

import sys,timefor i in range(20): sys.stdout.write("#") sys.stdout.flush() time.sleep(1)

truncate方法

f = open('test','w')f.write("hello")f.write("/n")f.write("python")f.flush() #這樣不用執行close方法,內存中的數據,就會寫入到diskf.close()f = open('test','a')f.truncate(2) #截斷方法,光標從2開始往后截取f.close()

其他的文件方法: r+ 讀寫方法

基于字符read & write

最基本的文件操作當然就是在文件中讀寫數據。這也是很容易掌握的。現在打開一個文件以進行寫操作:

fileHandle = open ( 'test.txt', 'w' )

‘w'是指文件將被寫入數據,語句的其它部分很好理解。下一步就是將數據寫入文件:

fileHandle.write ( 'This is a test./nReally, it is.' )

這個語句將“This is a test.”寫入文件的第一行,“Really, it is.”寫入文件的第二行。最后,我們需要做清理工作,并且關閉文件:

fileHandle.close()

正如你所見,在Python的面向對象機制下,這確實非常簡單。需要注意的是,當你再次使用“w”方式在文件中寫數據,所有原來的內容都會被刪除。如果想保留原來的內容,可以使用“a”方式在文件中結尾附加數據:

fileHandle = open ( 'test.txt', 'a' ) fileHandle.write ( '/n/nBottom line.' ) fileHandle.close()

然后,我們讀取test.txt,并將內容顯示出來:

fileHandle = open ( 'test.txt' ) print fileHandle.read() fileHandle.close()

以上語句將讀取整個文件并顯示其中的數據。

基于行的讀寫 line

fileHandle = open ( 'test.txt' ) print fileHandle.readline() # "This is a test." fileHandle.close() 

同時,也可以將文件內容保存到一個list中:

fileHandle = open ( 'test.txt' ) fileList = fileHandle.readlines() for fileLine in fileList: print '>>', fileLine fileHandle.close() 

 或者在文件中一次讀取幾個字節的內容:

fileHandle = open ( 'test.txt' ) print fileHandle.read ( 1 ) # "T" fileHandle.seek ( 4 ) print FileHandle.read ( 1 ) # " "(原文有錯)

 


注:相關教程知識閱讀請移步到python教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 台中县| 双柏县| 乳山市| 石柱| 商南县| 乡城县| 清河县| 奇台县| 游戏| 平南县| 嘉定区| 卫辉市| 新邵县| 南京市| 柞水县| 新乡市| 泽州县| 内江市| 呼伦贝尔市| 龙州县| 饶阳县| 南阳市| 通江县| 东港市| 南雄市| 额敏县| 柘荣县| 开远市| 垣曲县| 平利县| 错那县| 阳春市| 项城市| 东乌| 富川| 平江县| 汕头市| 丹棱县| 广汉市| 巫山县| 隆安县|