溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

將python運行結果保存至本地文件中的示例講解

發(fā)布時間:2020-08-25 11:39:42 來源:腳本之家 閱讀:172 作者:dayun555 欄目:開發(fā)技術

一、建立文件,保存數(shù)據(jù)

1.使用python中內(nèi)置的open函數(shù) 打開txt文件

#mode 模式
#w 只能操作寫入 r 只能讀取 a 向文件追加
#w+ 可讀可寫 r+可讀可寫 a+可讀可追加
#wb+寫入進制數(shù)據(jù)
#w模式打開文件,如果而文件中有數(shù)據(jù),再次寫入內(nèi)容,會把原來的覆蓋掉
file_handle=open('1.txt',mode='w')

2.向文件中寫入數(shù)據(jù)

2.1 write寫入

#\n 換行符
file_handle.write('hello word 你好 \n')

2.2writelines()函數(shù) 會將列表中的字符串寫入文件中,但不會自動換行,如果需要換行,手動添加換行符

#參數(shù) 必須是一個只存放字符串的列表
file_handle.writelines(['hello\n','world\n','你好\n','智游\n','鄭州\n'])

3.關閉文件

file_handle.close()

二、打開文件 讀取文件中的信息

1.打開文件

#使用r模式打開文件,做讀取文件操作
#打開文件的模式,默認就是r模式,如果只是讀文件,可以不填寫mode模式
file_handle=open('1.txt',mode='r')

2.讀取文件內(nèi)容(三種方法)

2.1 read(int)函數(shù)

讀取文件內(nèi)容。如果指定讀取長度,會暗戰(zhàn)長度去讀取,不指定默認讀取所有數(shù)據(jù)

content=file_handle.read(20)

2.2 readline(int)函數(shù)

默認讀取文件一行的數(shù)據(jù) 參數(shù)大于一行的長度,值讀取一行,若小于一行的長度,讀取指定長度

content=file_handle.readline(20)

2.3 readlines( )函數(shù)

會把每一行的數(shù)據(jù)作為一個元素放在列表中返回,讀取所有行的數(shù)據(jù)

contents=file_handle.readlines()

3.關閉文件

file_handle.close()

三 、獲取光標位置的函數(shù)tell( )

#tell()函數(shù) 返回當前文件中光標的位置
file_handle=open('1.txt')
#先讀取一行的數(shù)據(jù)
content=file_handle.readline()
print(content)
#獲取光標的位置
number=file_handle.tell()
print(number)

四、調(diào)整光標位置的函數(shù)seek( )

#第一個參數(shù)offset 直接指定文件的光標位置
#第二個參數(shù)(默認為0):0 直接移動到開始位置 1當前的位置 2末尾的位置
file_handle.seek(0)
number=file_handle.tell()
print(number)

例子

1.將每一個成員的信息從列表中存放入文件,再從文件中取出組裝成原來列表

'''
student_list = [['張三','22','110'],['李四','22','110'],['王五','22','110']]
'''
 
# 存儲
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(' ')
 # # 一個人的信息寫入完成,寫入換行符
 # file_handle.write('\n')
 # join() 可以使用某個字符,將列表中的數(shù)據(jù)拼接為一個字符串
 s=' '.join(student)
 # 寫入拼接后的字符串
 file_handle.write(s)
 #寫入換行
 file_handle.write('\n')
# 3.關閉文件
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() 通過某個字符分割字符串,返回的是分割完成后的列表
 list_1 = msg.split(' ')
 # pop()函數(shù) 移除列表中最后一個元素
 # 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.關閉文件
file_handle.close()
 
# 讀取文件,并且必須是一個列表,格式:['張三','李四','王五']
file_handle = open('student.txt', mode='r')
# readlines() 讀取所有行的數(shù)據(jù),會返回一個列表,列表中存放的數(shù)據(jù)就是每一行的內(nèi)容
contents = file_handle.readlines()
# 準備一個列表,用來存放取出來的數(shù)據(jù)
student_list = []
# for循環(huán)遍歷列表,取出每一行讀取到的內(nèi)容
for name in contents:
 # strip()去除字符串中的某些特殊字符 去除\n
 name = name.strip('\n')
 # 把處理好的name添加到列表中
 student_list.append(name)
# 這個列表中存放的就是和寫入之前一樣的內(nèi)容
print(student_list)
# 3.關閉文件
file_handle.close()

以上這篇將python運行結果保存至本地文件中的示例講解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI