国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

Python文件操作基礎(chǔ)流程解析

瀏覽:109日期:2022-08-01 18:31:06

一.文件操作的流程

1、打開文件

open(’C:a.txtnbcd.txt’)

解決方案一:推薦

open(r’C:a.txtnbcd.txt’)

解決方案二:

open(’C:/a.txt/nb/c/d.txt’)

f=open(r’aaa/a.txt’,mode=’rt’) # f的值是一種變量,占用的是應(yīng)用程序的內(nèi)存空間

2、操作文件:

讀/寫文件,應(yīng)用程序?qū)ξ募淖x寫請求都是在向操作系統(tǒng)發(fā)送系統(tǒng)調(diào)用,然后由操作系統(tǒng)控制硬盤把輸入讀入內(nèi)存、或者寫入硬盤

res=f.read()

3、關(guān)閉文件

f.close() # 回收操作系統(tǒng)資源

f.read() # 變量f存在,但是不能再讀了

二.資源管理與with上下文管理

打開一個文件包含兩個部分資源:應(yīng)用程序的變量f和操作系統(tǒng)打開的文件。

在操作完一個文件后必須把這兩部分的資源回收

通常回收有兩種方法:

1 f.close()#回收操作系統(tǒng)打開的文件資源

2 del f # 回收應(yīng)用程序資源

其中,del f 一定要發(fā)生在f.close()之后,否則就會導致操作系統(tǒng)打開的文件無法關(guān)閉,。

python的垃圾回收機制讓我們無序考慮del f,所以我們必須記住,操作完畢后一定要fclose(),

但是我們都是比較懶或者比較健忘的,所以python就有with關(guān)鍵字來幫助我們管理上下文。

1. with open(’a.txt’,mode=’rt’) as f1:# f1=open(’a.txt’,mode=’rt’)

   pass

2. with open(’a.txt’,mode=’rt’) as f1,

open(’b.txt’,mode=’rt’) as f2:

res1=f1.read()

res2=f2.read()

print(res1)

三.文件的操作模式

文件的讀寫操作的模式有

r(默認):只讀 w:只寫 a:只追加寫

文件的讀寫內(nèi)容的模式有

t 文本模式:1.讀寫文件都是以字符串為單位

  2.只能針對文本文件

  3.必須制定encoding參數(shù)

b 二進制模式:1.讀寫文件都是以bytes為單位的

 2.可以針對所有文件

 3.一定不能制定encoding參數(shù) 

強調(diào):t和b不能單獨使用,必須跟r/w/a連用

各模式的參考案例

1、r(默認的操作模式):

只讀模式,當文件不存在時報錯,當文件存在時文件指針跳到開始位置

with open(’c.txt’,mode=’rt’,encoding=’utf-8’) as f: print(’第一次讀’.center(50,’*’)) res=f.read() # 把所有內(nèi)容從硬盤讀入內(nèi)存 print(res) with open(’c.txt’, mode=’rt’, encoding=’utf-8’) as f: print(’第二次讀’.center(50,’*’)) res1=f.read() print(res1)

實現(xiàn)用戶認證功能

inp_username=input(’your name>>: ’).strip() inp_password=input(’your password>>: ’).strip() with open(’user.txt’,mode=’rt’,encoding=’utf-8’) as f: for line in f: # print(line,end=’’) # egon:123n username,password=line.strip().split(’:’) #壓縮賦值,取出文件中的用戶名密碼 if inp_username == username and inp_password == password: print(’login successfull’) break else: print(’賬號或密碼錯誤’)

應(yīng)用程序====》文件

應(yīng)用程序====》數(shù)據(jù)庫管理軟件=====》文件

2、w:只寫模式,當文件不存在時會創(chuàng)建空文件,當文件存在會清空文件,指針位于開始位置

with open(’d.txt’,mode=’wt’,encoding=’utf-8’) as f:# f.read() # 報錯,不可讀# f.write(’擦勒n’) # 強調(diào)1:# 在以w模式打開文件沒有關(guān)閉的情況下,連續(xù)寫入,新的內(nèi)容總是跟在舊的之后# with open(’d.txt’,mode=’wt’,encoding=’utf-8’) as f:# f.write(’擦勒1n’)# f.write(’擦勒2n’)# f.write(’擦勒3n’)# 強調(diào)2:# 如果重新以w模式打開文件,則會清空文件內(nèi)容# with open(’d.txt’,mode=’wt’,encoding=’utf-8’) as f:# f.write(’擦勒1n’)# with open(’d.txt’,mode=’wt’,encoding=’utf-8’) as f:# f.write(’擦勒2n’)# with open(’d.txt’,mode=’wt’,encoding=’utf-8’) as f:# f.write(’擦勒3n’)

案例:w模式用來創(chuàng)建全新的文件

文件文件的copy工具

就是讀一個文件,再寫一個文件,把讀的復制給寫的。

# src_file=input(’源文件路徑>>: ’).strip()# dst_file=input(’目標文件路徑>>: ’).strip()# with open(r’{}’.format(src_file),mode=’rt’,encoding=’utf-8’) as f1,# open(r’{}’.format(dst_file),mode=’wt’,encoding=’utf-8’) as f2:# res=f1.read()# f2.write(res)

3、a:只追加寫,在文件不存在時會創(chuàng)建空文檔,在文件存在時文件指針會直接調(diào)到末尾

with open(’e.txt’,mode=’at’,encoding=’utf-8’) as f: # f.read() # 報錯,不能讀 f.write(’1n’) f.write(’2n’) f.write(’3n’)

強調(diào) w 模式與 a 模式的異同:

1 相同點:在打開的文件不關(guān)閉的情況下,連續(xù)的寫入,新寫的內(nèi)容總會跟在前寫的內(nèi)容之后

2 不同點:以 a 模式重新打開文件,不會清空原文件內(nèi)容,會將文件指針直接移動到文件末尾,新寫的內(nèi)容永遠寫在最后

案例:a模式用來在原有的文件內(nèi)存的基礎(chǔ)之上寫入新的內(nèi)容,比如記錄日志、注冊

注冊功能

name=input(’your name>>: ’) pwd=input(’your name>>: ’) with open(’db.txt’,mode=’at’,encoding=’utf-8’) as f: f.write(’{}:{}n’.format(name,pwd))

了解:+不能單獨使用,必須配合r、w、a

r+,w+,a+:可讀可寫

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 欧美成人性色xxxx视频 | 欧美肥婆videoxxx | 国产精品亚洲第五区在线 | 最新最好看免费毛片基地 | 麻豆69堂免费视频 | 日韩精品不卡 | 国产免费播放一区二区 | 在线视频一区二区三区在线播放 | 国产精品免费一区二区区 | 日本在线观看不卡免费视频 | 国产在线观看网址你懂得 | 538在线视频二三区视视频 | 2000xxxxav影院| 欧美精品xxx| 国产一区二区三区欧美精品 | 国产片网址| 亚洲国产欧美另类 | 草草影| 久久久亚洲国产精品主播 | 国产深夜福利在线观看网站 | 亚洲人成网址在线播放a | 欧美一级高清视频在线播放 | 久草在线视频资源站 | 国产三级国产精品国产普男人 | 免费看又黄又爽又猛的网站 | 精品性久久 | 中文字幕无线精品乱码一区 | 日本欧美色 | 成人影院一区二区三区 | 国产亚洲精品一区999 | 欧美日韩 在线播放 | 粉嫩jk制服美女啪啪 | 美女视频黄a全部免费专区一 | 欧美成人自拍视频 | 亚洲欧美国产中文 | 亚洲偷自拍另类图片二区 | 中文字幕精品一区二区三区视频 | 亚洲欧美二区三区久本道 | 老司机毛片 | 国内xxxx乱子另类 | 成人爽a毛片在线视频网站 成人爽爽大片在线观看 |