电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

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

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

一.文件操作的流程

1、打開(kāi)文件

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、操作文件:

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

res=f.read()

3、關(guān)閉文件

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

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

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

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

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

通常回收有兩種方法:

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

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

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

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

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

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)

三.文件的操作模式

文件的讀寫(xiě)操作的模式有

r(默認(rèn)):只讀 w:只寫(xiě) a:只追加寫(xiě)

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

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

  2.只能針對(duì)文本文件

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

b 二進(jìn)制模式:1.讀寫(xiě)文件都是以bytes為單位的

 2.可以針對(duì)所有文件

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

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

各模式的參考案例

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

只讀模式,當(dāng)文件不存在時(shí)報(bào)錯(cuò),當(dāng)文件存在時(shí)文件指針跳到開(kāi)始位置

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

實(shí)現(xiàn)用戶(hù)認(rè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(’:’) #壓縮賦值,取出文件中的用戶(hù)名密碼 if inp_username == username and inp_password == password: print(’login successfull’) break else: print(’賬號(hào)或密碼錯(cuò)誤’)

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

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

2、w:只寫(xiě)模式,當(dāng)文件不存在時(shí)會(huì)創(chuàng)建空文件,當(dāng)文件存在會(huì)清空文件,指針位于開(kāi)始位置

with open(’d.txt’,mode=’wt’,encoding=’utf-8’) as f:# f.read() # 報(bào)錯(cuò),不可讀# f.write(’擦勒n’) # 強(qiáng)調(diào)1:# 在以w模式打開(kāi)文件沒(méi)有關(guān)閉的情況下,連續(xù)寫(xiě)入,新的內(nèi)容總是跟在舊的之后# with open(’d.txt’,mode=’wt’,encoding=’utf-8’) as f:# f.write(’擦勒1n’)# f.write(’擦勒2n’)# f.write(’擦勒3n’)# 強(qiáng)調(diào)2:# 如果重新以w模式打開(kāi)文件,則會(huì)清空文件內(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模式用來(lái)創(chuàng)建全新的文件

文件文件的copy工具

就是讀一個(gè)文件,再寫(xiě)一個(gè)文件,把讀的復(fù)制給寫(xiě)的。

# src_file=input(’源文件路徑>>: ’).strip()# dst_file=input(’目標(biāo)文件路徑>>: ’).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:只追加寫(xiě),在文件不存在時(shí)會(huì)創(chuàng)建空文檔,在文件存在時(shí)文件指針會(huì)直接調(diào)到末尾

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

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

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

2 不同點(diǎn):以 a 模式重新打開(kāi)文件,不會(huì)清空原文件內(nèi)容,會(huì)將文件指針直接移動(dòng)到文件末尾,新寫(xiě)的內(nèi)容永遠(yuǎn)寫(xiě)在最后

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

注冊(cè)功能

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))

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

r+,w+,a+:可讀可寫(xiě)

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 济南ISO9000认证咨询代理公司,ISO9001认证,CMA实验室认证,ISO/TS16949认证,服务体系认证,资产管理体系认证,SC食品生产许可证- 济南创远企业管理咨询有限公司 郑州电线电缆厂家-防火|低压|低烟无卤电缆-河南明星电缆 | 圆窗水平仪|伊莉莎冈特elesa+ganter| 北京普辉律师事务所官网_北京律师24小时免费咨询|法律咨询 | 高温高压釜(氢化反应釜)百科| 慈溪麦田广告公司,提供慈溪广告设计。 | 塑料瓶罐_食品塑料瓶_保健品塑料瓶_调味品塑料瓶–东莞市富慷塑料制品有限公司 | 丹佛斯压力传感器,WISE温度传感器,WISE压力开关,丹佛斯温度开关-上海力笙工业设备有限公司 | 依维柯自动挡房车,自行式国产改装房车,小型房车价格,中国十大房车品牌_南京拓锐斯特房车 - 南京拓锐斯特房车 | 基业箱_环网柜_配电柜厂家_开关柜厂家_开关断路器-东莞基业电气设备有限公司 | 制氮设备-变压吸附制氮设备-制氧设备-杭州聚贤气体设备制造有限公司 | 上海道勤塑化有限公司| 电销卡 防封电销卡 不封号电销卡 电话销售卡 白名单电销卡 电销系统 外呼系统 | 卷筒电缆-拖链电缆-特种柔性扁平电缆定制厂家「上海缆胜」 | 拖鞋定制厂家-品牌拖鞋代加工厂-振扬实业中国高端拖鞋大型制造商 | 专业的压球机生产线及解决方案厂家-河南腾达机械厂 | 安全光栅|射频导纳物位开关|音叉料位计|雷达液位计|两级跑偏开关|双向拉绳开关-山东卓信机械有限公司 | FAG轴承,苏州FAG轴承,德国FAG轴承-恩梯必传动设备(苏州)有限公司 | 东莞爱加真空科技有限公司-进口真空镀膜机|真空镀膜设备|Polycold维修厂家 | 纯化水设备-纯水设备-超纯水设备-[大鹏水处理]纯水设备一站式服务商-东莞市大鹏水处理科技有限公司 | IPO咨询公司-IPO上市服务-细分市场研究-龙马咨询 | 玉米深加工设备-玉米深加工机械-新型玉米工机械生产厂家-河南粮院机械制造有限公司 | 私人别墅家庭影院系统_家庭影院音响_家庭影院装修设计公司-邦牛影音 | 世界箱包品牌十大排名,女包小众轻奢品牌推荐200元左右,男包十大奢侈品牌排行榜双肩,学生拉杆箱什么品牌好质量好 - Gouwu3.com | 青岛侦探_青岛侦探事务所_青岛劝退小三_青岛调查出轨取证公司_青岛婚外情取证-青岛探真调查事务所 | TPE_TPE热塑性弹性体_TPE原料价格_TPE材料厂家-惠州市中塑王塑胶制品公司- 中塑王塑胶制品有限公司 | 考勤系统_考勤管理系统_网络考勤软件_政企|集团|工厂复杂考勤工时统计排班管理系统_天时考勤 | 主题班会网 - 安全教育主题班会,各类主题班会PPT模板 | 石家庄律师_石家庄刑事辩护律师_石家庄取保候审-河北万垚律师事务所 | 精密光学实验平台-红外粉末压片机模具-天津博君 | 风信子发稿-专注为企业提供全球新闻稿发布服务 | 周口市风机厂,周鼓风机,河南省周口市风机厂 | 123悬赏网_发布悬赏任务_广告任务平台 | 合肥废气治理设备_安徽除尘设备_工业废气处理设备厂家-盈凯环保 合肥防火门窗/隔断_合肥防火卷帘门厂家_安徽耐火窗_良万消防设备有限公司 | 中式装修设计_全屋定制家具_实木仿古门窗花格厂家-喜迎门 | 喷播机厂家_二手喷播机租赁_水泥浆洒布机-河南青山绿水机电设备有限公司 | 气动球阀_衬氟蝶阀_调节阀_电动截止阀_上海沃托阀门有限公司 | 中高频感应加热设备|高频淬火设备|超音频感应加热电源|不锈钢管光亮退火机|真空管烤消设备 - 郑州蓝硕工业炉设备有限公司 | 粉丝机械,粉丝烘干机,粉丝生产线-招远市远东粉丝机械有限公司 | NMRV减速机|铝合金减速机|蜗轮蜗杆减速机|NMRV减速机厂家-东莞市台机减速机有限公司 | 考勤系统_考勤管理系统_网络考勤软件_政企|集团|工厂复杂考勤工时统计排班管理系统_天时考勤 | 一体化隔油提升设备-餐饮油水分离器-餐厨垃圾处理设备-隔油池-盐城金球环保产业发展有限公司 |