一、建立文件,保存數(shù)據(jù)
1.使用python中內(nèi)置的open函數(shù) 打開txt文件
#mode 模式 #w 只能操作寫入 r 只能讀取 a 向文件追加 #w+ 可讀可寫 r+可讀可寫 a+可讀可追加 #wb+寫入進(jìn)制數(shù)據(jù) #w模式打開文件,如果而文件中有數(shù)據(jù),再次寫入內(nèi)容,會(huì)把原來的覆蓋掉 file_handle=open('1.txt',mode='w')
2.向文件中寫入數(shù)據(jù)
2.1 write寫入
#\n 換行符 file_handle.write('hello word 你好 \n')
2.2writelines()函數(shù) 會(huì)將列表中的字符串寫入文件中,但不會(huì)自動(dòng)換行,如果需要換行,手動(dòng)添加換行符
#參數(shù) 必須是一個(gè)只存放字符串的列表 file_handle.writelines(['hello\n','world\n','你好\n','智游\n','鄭州\n'])
3.關(guān)閉文件
file_handle.close()
二、打開文件 讀取文件中的信息
1.打開文件
#使用r模式打開文件,做讀取文件操作 #打開文件的模式,默認(rèn)就是r模式,如果只是讀文件,可以不填寫mode模式 file_handle=open('1.txt',mode='r')
2.讀取文件內(nèi)容(三種方法)
2.1 read(int)函數(shù)
讀取文件內(nèi)容。如果指定讀取長度,會(huì)暗戰(zhàn)長度去讀取,不指定默認(rèn)讀取所有數(shù)據(jù)
content=file_handle.read(20)
2.2 readline(int)函數(shù)
默認(rèn)讀取文件一行的數(shù)據(jù) 參數(shù)大于一行的長度,值讀取一行,若小于一行的長度,讀取指定長度
content=file_handle.readline(20)
2.3 readlines( )函數(shù)
會(huì)把每一行的數(shù)據(jù)作為一個(gè)元素放在列表中返回,讀取所有行的數(shù)據(jù)
contents=file_handle.readlines()
3.關(guān)閉文件
file_handle.close()
三 、獲取光標(biāo)位置的函數(shù)tell( )
#tell()函數(shù) 返回當(dāng)前文件中光標(biāo)的位置 file_handle=open('1.txt') #先讀取一行的數(shù)據(jù) content=file_handle.readline() print(content) #獲取光標(biāo)的位置 number=file_handle.tell() print(number)
四、調(diào)整光標(biāo)位置的函數(shù)seek( )
#第一個(gè)參數(shù)offset 直接指定文件的光標(biāo)位置 #第二個(gè)參數(shù)(默認(rèn)為0):0 直接移動(dòng)到開始位置 1當(dāng)前的位置 2末尾的位置 file_handle.seek(0) number=file_handle.tell() print(number)
例子
1.將每一個(gè)成員的信息從列表中存放入文件,再從文件中取出組裝成原來列表
''' student_list = [['張三','22','110'],['李四','22','110'],['王五','22','110']] ''' # 存儲(chǔ) student_list = [['張三','22','110'],['李四','22','110'],['王五','22','110']] # 1.打開文件 file_handle = open('student_v2.txt',mode='w') # 2.寫入數(shù)據(jù) for student in student_list: # for循環(huán)取出小列表中的每一條數(shù)據(jù), # for msg in student: # # 寫入文件 # file_handle.write(msg) # # 寫入空格 # file_handle.write(' ') # # 一個(gè)人的信息寫入完成,寫入換行符 # file_handle.write('\n') # join() 可以使用某個(gè)字符,將列表中的數(shù)據(jù)拼接為一個(gè)字符串 s=' '.join(student) # 寫入拼接后的字符串 file_handle.write(s) #寫入換行 file_handle.write('\n') # 3.關(guān)閉文件 file_handle.close() # 取出 file_handle = open('student_v2.txt',mode='r') contents = file_handle.readlines() print(contents) # [['張三','22','110'],['李四','22','110'],['王五','22','110']] student_list = [] for msg in contents: msg = msg.strip('\n') # split() 通過某個(gè)字符分割字符串,返回的是分割完成后的列表 list_1 = msg.split(' ') # pop()函數(shù) 移除列表中最后一個(gè)元素 # list_1.pop() # 把小列表添加到大列表中 student_list.append(list_1) file_handle.close() print(student_list)
2.
# 列表數(shù)據(jù)的讀取和寫入 # ---------------寫入************ list_1 = ['張三','李四','王五'] # 1.打開文件 file_handle = open('student.txt', mode='w') # 2.寫入數(shù)據(jù) for name in list_1: file_handle.write(name) # 寫入換行符 file_handle.write('\n') # 3.關(guān)閉文件 file_handle.close() # 讀取文件,并且必須是一個(gè)列表,格式:['張三','李四','王五'] file_handle = open('student.txt', mode='r') # readlines() 讀取所有行的數(shù)據(jù),會(huì)返回一個(gè)列表,列表中存放的數(shù)據(jù)就是每一行的內(nèi)容 contents = file_handle.readlines() # 準(zhǔn)備一個(gè)列表,用來存放取出來的數(shù)據(jù) student_list = [] # for循環(huán)遍歷列表,取出每一行讀取到的內(nèi)容 for name in contents: # strip()去除字符串中的某些特殊字符 去除\n name = name.strip('\n') # 把處理好的name添加到列表中 student_list.append(name) # 這個(gè)列表中存放的就是和寫入之前一樣的內(nèi)容 print(student_list) # 3.關(guān)閉文件 file_handle.close()
以上這篇將python運(yùn)行結(jié)果保存至本地文件中的示例講解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
