- f_path=r'C:\Users\LPH\Desktop\my_project\波浪和風(fēng)向\波浪和風(fēng)向部分數據\連云港部分數據\201706003.txt'
- with open(f_path) as f:
- contents=f.read()
- print(contents)
函數open返回一個(gè)表示文件的對象,對象存儲在f中
關(guān)鍵字with在不需要訪(fǎng)問(wèn)文件時(shí)將其自動(dòng)關(guān)閉。
讀取出的內容以字符串形式保存在contents里
- f_path=r'C:\Users\LPH\Desktop\my_project\波浪和風(fēng)向\波浪和風(fēng)向部分數據\連云港部分數據\201706003.txt'
- with open(f_path) as f:
- for line in f:
- print(line)
發(fā)現行間距比讀取整個(gè)文件時(shí)大了很多,因為每一行都有末尾都有一個(gè)看不見(jiàn)的換行符,而print語(yǔ)句也會(huì )加上換行符。要消除這些多余空白行,可以在print語(yǔ)句中使用rstrip()
- f_path=r'C:\Users\LPH\Desktop\my_project\波浪和風(fēng)向\波浪和風(fēng)向部分數據\連云港部分數據\201706003.txt'
- with open(f_path) as f:
- for line in f:
- print(line.rstrip())
使用系統關(guān)鍵字with時(shí),open()返回的文本對象只在with代碼塊內使用。如果要在with代碼塊之外訪(fǎng)問(wèn)文件的內容,可以在with代碼塊中將文件各行存儲在一個(gè)列表中,并在with代碼塊外使用該列表。
- f_path=r'C:\Users\LPH\Desktop\my_project\波浪和風(fēng)向\波浪和風(fēng)向部分數據\連云港部分數據\201706003.txt'
- with open(f_path) as f:
- lines=f.readlines()
- for line in lines:
- print(line.rstrip())
讀取文本文件時(shí),python將其中的所有文本都解讀為字符串。如果讀取的是數字,并要將其作為數值使用,就必須使用函數int()將其轉化為整數?;蚴褂胒loat()將其轉換為浮點(diǎn)數。
- f_path=r'C:\Users\LPH\Desktop\my.txt'
- with open(f_path,'w') as f:
- f.write('I love programming!')
實(shí)參‘w’告訴python以寫(xiě)入模式打開(kāi)文件。打開(kāi)文件時(shí),可以指定讀取方式('r':讀取 'w':寫(xiě)入 ‘a(chǎn)’ 附加 'r+' 讀取和寫(xiě)入 )默認為只讀模式。
若寫(xiě)入的文件不存在,函數open()將自動(dòng)創(chuàng )建。以寫(xiě)入模式打開(kāi)文件時(shí),注意如果文件已存在,python將在返回文件對象前清空文件。若不想清空,可以以追加的方式創(chuàng )建。
python只將字符串寫(xiě)入文本文件。要將數值數據存儲到文本文件中,必須先使用函數str()將其轉換為字符串格式。讀出的也是字符串
函數write不會(huì )在寫(xiě)入的文本末尾添加換行符
- f_path=r'C:\Users\LPH\Desktop\my.txt'
- with open(f_path,'w') as f:
- f.write('I love programming!')
- f.write('I love English too!')
- f_path=r'C:\Users\LPH\Desktop\my.txt'
- with open(f_path,'w') as f:
- f.write('I love programming!\n')
- f.write('I love English too!\n')

- f_path=r'C:\Users\LPH\Desktop\my.txt'
- with open(f_path,'a') as f:
- f.write('I love programming!\n')
- f.write('I love English too!\n')

聯(lián)系客服