尋夢新聞LINE@每日推播熱門推薦文章,趣聞不漏接❤️
一、建立文件,保存數據
1.使用python中內置的open函數 打開txt文件
#mode 模式
#w 只能操作寫入 r 只能讀取 a 向文件追加
#w+ 可讀可寫 r+可讀可寫 a+可讀可追加
#wb+寫入進制數據
#w模式打開文件,如果而文件中有數據,再次寫入內容,會把原來的覆蓋掉
file_handle=open(‘1.txt’,mode=’w’)
2.向文件中寫入數據
2.1 write寫入
#\n 換行符
file_handle.write(‘hello word 你好 \n’)
2.2writelines()函數 會將列表中的字符串寫入文件中,但不會自動換行,如果需要換行,手動添加換行符
#參數 必須是一個只存放字符串的列表
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.讀取文件內容(三種方法)
2.1 read(int)函數
讀取文件內容。如果指定讀取長度,會暗戰長度去讀取,不指定默認讀取所有數據
content=file_handle.read(20)
2.2 readline(int)函數
默認讀取文件一行的數據 參數大於一行的長度,值讀取一行,若小於一行的長度,讀取指定長度
content=file_handle.readline(20)
2.3 readlines( )函數
會把每一行的數據作為一個元素放在列表中返回,讀取所有行的數據
contents=file_handle.readlines()
3.關閉文件
file_handle.close()
三 、獲取光標位置的函數tell( )
#tell()函數 返回當前文件中光標的位置
file_handle=open(‘1.txt’)
#先讀取一行的數據
content=file_handle.readline()
print(content)
#獲取光標的位置
number=file_handle.tell()
print(number)
四、調整光標位置的函數seek( )
#第一個參數offset 直接指定文件的光標位置
#第二個參數(默認為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.寫入數據
for student in student_list:
# for循環取出小列表中的每一條數據,
# for msg in student:
# # 寫入文件
# file_handle.write(msg)
# # 寫入空格
# file_handle.write(‘ ‘)
# # 一個人的信息寫入完成,寫入換行符
# file_handle.write(‘\n’)
# join() 可以使用某個字符,將列表中的數據拼接為一個字符串
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()函數 移除列表中最後一個元素
# list_1.pop()
# 把小列表添加到大列表中
student_list.append(list_1)
file_handle.close()
print(student_list)
2.
# 列表數據的讀取和寫入
# —————寫入************
list_1 = [‘張三’,’李四’,’王五’]
# 1.打開文件
file_handle = open(‘student.txt’, mode=’w’)
# 2.寫入數據
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() 讀取所有行的數據,會返回一個列表,列表中存放的數據就是每一行的內容
contents = file_handle.readlines()
# 準備一個列表,用來存放取出來的數據
student_list = []
# for循環遍歷列表,取出每一行讀取到的內容
for name in contents:
# strip()去除字符串中的某些特殊字符 去除\n
name = name.strip(‘\n’)
# 把處理好的name添加到列表中
student_list.append(name)
# 這個列表中存放的就是和寫入之前一樣的內容
print(student_list)
# 3.關閉文件
file_handle.close()