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

您的位置:首頁技術文章
文章詳情頁

詳解Python中的文件操作

瀏覽:9日期:2022-06-29 17:53:40
一:文件的打開模式

了解過字符編碼都知道,文件都是以某一種標準編碼成二進制存在硬盤里的,在文件的默認打開模式下f = open(’a.txt’,’rt’,encoding=’utf-8’) 其中的t表示是以文本模式打開文件,在應用程序給操作系統發送數據請求后,操作系統在硬盤讀取二進制編碼,然后返還給應用程序,通過open方法,將編碼解碼成我們看到的字符;如果是以b模式打開文件的話,open方法不會對操作系統返回的二進制數據作處理,而是直接打印。

f = open(’a.txt’,’rt’,encoding=’utf-8’)

其中的t表示是以文本模式打開文件,在應用程序給操作系統發送數據請求后,操作系統在硬盤讀取二進制編碼,然后返還給應用程序,通過open方法,將編碼解碼成我們看到的字符,那么在b模式下打開文件,操作系統返還直接是一串二進制數字

文件的三種打開方式:

只讀模式:‘r’

只寫方式:’w’

追加模式:’a’

以字節模式打開文件的話,需要注意:

一定要寫上‘b’,只能以rb,wb,ab這種形式打開文件,不能省略‘b’。

f = open(’a.txt’,’rb’) f = open(’a.txt’,’wb’) f = open(’a.txt’,’ab’) #錯誤寫法f = open(’a.txt’,’r’) #未注明以b模式打開,這種寫法是默認文本模式打開 f = open(’a.txt’,’rb’,encode = ’utf-8’) #b模式打開,不能傳入編碼方式

字節模式下讀寫都是以bytes為單位的。如果想寫入字符,需要編碼后以字節類型寫入

f = open(’a.txt’,’wb’)f.write(’你哈’.encode(’utf-8’))

注意:對于非文本文件,我們只能使用字節模式,'b'表示以字節的方式操作(而所有文件也都是以字節的形式存儲的,使用這種模式無需考慮文本文件的字符編碼、圖片文件的jgp格式、視頻文件的avi格式)

二:字節模式下的操作

字節模式打開非文本文件

with open(’1.jpg’, ’rb’) as f: # 以只讀模式打開文件 data = f.read() # 讀取文件全部內容,并賦值給變量dataprint(data) # 打印變量,我們得到是b’xffxd8xffxe0x00這種形式的結果print(type(data))# 變量的類型<class ’bytes’>with open(’1.jpg’,’rb’) as f: data = f.read()print(type(data))print(data.decode(’utf-8’)) #將讀取的編碼以utf-8標準解碼 #圖片文件編碼方式不是utf-8,所以不能解碼,程序報錯

以字節模式打開文本文件:

with open(’db.txt’, ’rb’) as f: data = f.read()print(data) # 打印出來的是一串二進制數print(data.decode(’utf-8’)) # 把二進制數用utf-8標準解碼print(type(data)) # 可以在屏幕上顯示人類能看懂的字符了with open(’db.txt’, ’wb’) as f: f.write(’你好啊n’.encode(’utf -8’))

在以字節打開文件時,文件的操作都要基于二進制進行了.

三:文件的修改

文件的修改并不是我們直觀感受上的擦除重新寫上,基于硬盤的特性,任何文件的修改操作都是新內容對原內容的覆蓋。修改的概念存在于內存中,當應用程序啟動,請求操作系統從硬盤中讀取數據,讀取的數據運行在內存上,這時,我們在應用程序上的操作修改類內存上的數據內容,但是并不影響到硬盤的數據。當我們點擊保存時,新的數據會將原數據覆蓋。這時,才完成了文件的修改。

修改文件方式一:1:先把文件內容全部讀取2:在內存中修改3:把修改好的內容覆蓋寫入到硬盤上

with open('db.txt', 'r', encoding='utf-8') as f: # 打開文件 data = f.read()# 讀取文件全部內容 data = data.replace('你好啊:', '======') # 修改文件內容 with open('db.txt', 'w', encoding='utf-8') as f: # 以‘w’模式打開,清空文件 f.write(data) # 把修改后的數據寫入

修改文件方式二:

1:以讀的方式打開源文件2:以寫的方式打開一個新文件

import os # 引入os模塊with open(’a.txt’, ’r’, encoding=’utf-8’) as read_f, open(’new.txt’, ’w’, encoding=’utf-8’) as new_f: # 同時打開文件 for line in read_f: # 循環原文件內容 if ’你好啊’ in line: line = line.replace(’你好啊’, ’哈哈哈哈哈哈’) # 替換源文件內容 new_f.write(line)# 把原文件循環出來的內容寫入到新文件中, os.remove(’a.txt’) # 調用OS模塊功能刪除原文件os.rename(’new.txt’, ’a.txt’) # 重命名新文件

以上就是詳解Python中的文件操作的詳細內容,更多關于python 文件操作的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 别墅图纸超市|别墅设计图纸|农村房屋设计图|农村自建房|别墅设计图纸及效果图大全 | 浙江富广阀门有限公司 | VOC检测仪-甲醛检测仪-气体报警器-气体检测仪厂家-深恒安科技有限公司 | 武汉高温老化房,恒温恒湿试验箱,冷热冲击试验箱-武汉安德信检测设备有限公司 | 存包柜厂家_电子存包柜_超市存包柜_超市电子存包柜_自动存包柜-洛阳中星 | 常州企业采购平台_常州MRO采购公司_常州米孚机电设备有限公司 | 全自动面膜机_面膜折叠机价格_面膜灌装机定制_高速折棉机厂家-深圳市益豪科技有限公司 | 泰国试管婴儿_泰国第三代试管婴儿费用|成功率|医院—新生代海外医疗 | 超声波清洗机_细胞破碎仪_实验室超声仪器_恒温水浴-广东洁盟深那仪器 | 视觉检测设备_自动化检测设备_CCD视觉检测机_外观缺陷检测-瑞智光电 | 锂电混合机-新能源混合机-正极材料混料机-高镍,三元材料混料机-负极,包覆混合机-贝尔专业混合混料搅拌机械系统设备厂家 | 通信天线厂家_室分八木天线_对数周期天线_天线加工厂_林创天线源头厂家 | 免费B2B信息推广发布平台 - 推发网 | 全自动贴标机-套标机-工业热风机-不干胶贴标机-上海厚冉机械 | 深圳法律咨询【24小时在线】深圳律师咨询免费 | 赛尔特智能移动阳光房-阳光房厂家-赛尔特建筑科技(广东)有限公司 | 润东方环保空调,冷风机,厂房车间降温设备-20年深圳环保空调生产厂家 | 低合金板|安阳低合金板|河南低合金板|高强度板|桥梁板_安阳润兴 北京租车牌|京牌指标租赁|小客车指标出租 | 隧道风机_DWEX边墙风机_SDS射流风机-绍兴市上虞科瑞风机有限公司 | 耐磨陶瓷管道_除渣器厂家-淄博浩瀚陶瓷科技有限公司 | 电磁铁_小型推拉电磁铁_电磁阀厂家-深圳市宗泰电机有限公司 | 强效碱性清洗剂-实验室中性清洗剂-食品级高纯氮气发生器-上海润榕科学器材有限公司 | 涡轮流量计_LWGY智能气体液体电池供电计量表-金湖凯铭仪表有限公司 | 合金耐磨锤头_破碎机锤头_郑州市德勤建材有限公司 | 聚合氯化铝-碱式氯化铝-聚合硫酸铁-聚氯化铝铁生产厂家多少钱一吨-聚丙烯酰胺价格_河南浩博净水材料有限公司 | 河南新乡德诚生产厂家主营震动筛,振动筛设备,筛机,塑料震动筛选机 | 杭州顺源过滤机械有限公司官网-压滤机_板框压滤机_厢式隔膜压滤机厂家 | Magnescale探规,Magnescale磁栅尺,Magnescale传感器,Magnescale测厚仪,Mitutoyo光栅尺,笔式位移传感器-苏州连达精密量仪有限公司 | 青岛侦探_青岛侦探事务所_青岛劝退小三_青岛婚外情取证-青岛王军侦探事务所 | 臭氧老化试验箱,高低温试验箱,恒温恒湿试验箱,防水试验设备-苏州亚诺天下仪器有限公司 | 臻知网大型互动问答社区-你的问题将在这里得到解答!-无锡据风网络科技有限公司 | 电子巡更系统-巡检管理系统-智能巡检【金万码】 | 广州迈驰新GMP兽药包装机首页_药品包装机_中药散剂包装机 | 郑州大巴车出租|中巴车租赁|旅游大巴租车|包车|郑州旅游大巴车租赁有限公司 | 四探针电阻率测试仪-振实密度仪-粉末流动性测定仪-宁波瑞柯微智能 | 欧美日韩国产一区二区三区不_久久久久国产精品无码不卡_亚洲欧洲美洲无码精品AV_精品一区美女视频_日韩黄色性爱一级视频_日本五十路人妻斩_国产99视频免费精品是看4_亚洲中文字幕无码一二三四区_国产小萍萍挤奶喷奶水_亚洲另类精品无码在线一区 | HDPE土工膜,复合土工膜,防渗膜价格,土工膜厂家-山东新路通工程材料有限公司 | 安全,主动,被动,柔性,山体滑坡,sns,钢丝绳,边坡,防护网,护栏网,围栏,栏杆,栅栏,厂家 - 护栏网防护网生产厂家 | 钢丝绳探伤仪-钢丝绳检测仪-钢丝绳探伤设备-洛阳泰斯特探伤技术有限公司 | 不干胶标签-不干胶贴纸-不干胶标签定制-不干胶标签印刷厂-弗雷曼纸业(苏州)有限公司 | 搅拌磨|搅拌球磨机|循环磨|循环球磨机-无锡市少宏粉体科技有限公司 |