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

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

python文件及目錄操作代碼匯總

瀏覽:61日期:2022-07-18 11:02:35

前言

在python中,內置了文件(file)對象,通過一些內置的方法就可以實現對文件的操作,例如open()方法創建一個文件對象,write()方法向文件寫入內容。

一.文件基本操作

1.創建和打開文件

想要操作文件,先要創建或者打開指定文件并創建文件對象,可以通過內置函數open()來實現。

file = open(file_name[,mode[,buffering]])’’’file_name : 要創建或者打開的文件名mode : 用于指定文件打開的方式’’’

mode參數的參數值表

模式 描述 r 以只讀方式打開文件。文件的指針將會放在文件的開頭。這是默認模式。 rb 以二進制格式打開一個文件用于只讀。文件指針將會放在文件的開頭。這是默認模式。 r+ 打開一個文件用于讀寫。文件指針將會放在文件的開頭。 rb+ 以二進制格式打開一個文件用于讀寫。文件指針將會放在文件的開頭。 w 打開一個文件只用于寫入。如果該文件已存在則打開文件,并從開頭開始編輯,即原有內容會被刪除。如果該文件不存在,創建新文件。 wb 以二進制格式打開一個文件只用于寫入。如果該文件已存在則打開文件,并從開頭開始編輯,即原有內容會被刪除。如果該文件不存在,創建新文件。 w+ 打開一個文件用于讀寫。如果該文件已存在則打開文件,并從開頭開始編輯,即原有內容會被刪除。如果該文件不存在,創建新文件。 wb+ 以二進制格式打開一個文件用于讀寫。如果該文件已存在則打開文件,并從開頭開始編輯,即原有內容會被刪除。如果該文件不存在,創建新文件。 a 打開一個文件用于追加。如果該文件已存在,文件指針將會放在文件的結尾。也就是說,新的內容將會被寫入到已有內容之后。如果該文件不存在,創建新文件進行寫入。 ab 以二進制格式打開一個文件用于追加。如果該文件已存在,文件指針將會放在文件的結尾。也就是說,新的內容將會被寫入到已有內容之后。如果該文件不存在,創建新文件進行寫入。 a+ 打開一個文件用于讀寫。如果該文件已存在,文件指針將會放在文件的結尾。文件打開時會是追加模式。如果該文件不存在,創建新文件用于讀寫。 ab+ 以二進制格式打開一個文件用于追加。如果該文件已存在,文件指針將會放在文件的結尾。如果該文件不存在,創建新文件用于讀寫。

注意

采用open()函數打開文件時,默認采用的是GBK編碼,如果想要用其他編碼方式,需要加上encoding參數

file = open(’./text.txt’,’a+’,encoding=’utf-8’)#需要采用原文件用的編碼方式打開,不然會報錯

2.關閉文件

打開文件之后,需要及時關閉,以免對文件造成不必要的破壞。可以用內置函數close()。

file = open(’./text.txt’,’a+’)file.close()

close()函數先刷新緩沖區中還沒有寫入的信息,將其寫入到文件中,再關閉文件,起到對文件的保護作用。

3.寫入文件

語法

file = write(string)

demo

#打開文件file = open(’./text.txt’,’a+’)#寫入文件file = write(’不負代碼,不負卿’)#關閉文件file.close()

注:

再寫入文件的時候要注入打開文件的時候是處于什么模式,不然會把原數據覆蓋掉。

4.讀取文件

讀取文件的前提是在打開文件時,指定的打開模式為r(只讀)或者r+(讀寫)否則,會拋出異常。

(1)讀取指定字符

file.read([size])

#size :用于指定要讀取的字符個數,如果省略,則一次性讀取所有內容。

(2)讀取一行

file.readline()

該方法用于讀取一行文本

(3)讀取全部行

file.readlins()

二.目錄操作

python內置了os模塊及子模塊os.path用于對目錄或文件的操作。

os模塊提供的與目錄相關的函數

函數 說明 getcwd() 返回當前的工作目錄 listdir(path) 返回指定路徑下的文件和目錄信息 mkdir(path[,mode]) 創建目錄 makedirs(path/path2.....) 創建多級目錄 rmdir(path) 刪除目錄 removedirs(/path1/path2...) 刪除多級目錄 chdir(path) 把path設置為當前工作目錄 walk(top[,topdown[,onerror]) 遍歷 access(path,accessmode) 獲取指定文件是否有某個權限(accessmode的等于R_OK(讀取),W_OK(寫入),X_OK(執行),F_OK(存在)),如果有指定的權限,返回1,否則返回0. chmod(path,mode) 修改path指定文件的訪問權限 remove(path) 刪除指定的文件路徑 rename(src,dst) 將文件或目錄src重命名為dst stat(path) 返回path指定文件的信息

os.path模塊提供與目錄有關的函數

函數 說明 abspath(path) 用于獲取文件或目錄的絕對路徑 exists(path) 用于判斷目錄或者文件是否存在,如果存在則返回True,否則返回False join(path,name) 將目錄與目錄或者文件名拼接起來 splitext() 分離文件名和拓展名 split(path) 將路徑和文件名分開 basename(path) 從一個目錄中提取文件名 dirname(path) 從一個路徑中提取文件路徑,不包括文件名 isdir(path) 用于判斷路徑是否有效

demo —— 獲取當前工作目錄

import osprint(os.getcwd())

demo —— 判斷目錄是否存在

import osprint(os.path.exists('c:demo'))

因為exists()是os的子模塊提供的,所以要要加前綴,os.path

demo —— 創建一級目錄

import ospath = 'c://demo'#如果要創建的目錄已經存在,則會拋出異常,先判斷要創建的目錄是否存在if not os.path.exists(path):os.mkdir(path)else:print(’該目錄已經存在’)

mkdir(path)創建的目錄是一級目錄,如果傳入的path中最后一級的上級目錄不存在,那么會拋出異常。

demo —— 創建多級目錄

import osos.makedirs('C:demo1demo2...')

demo —— 刪除目錄

import ospath = 'C:demo1demo2'#判斷要刪除的目錄,如果不存在會拋出問題if os.path.exists(path):os.rmdir('C:demo1demo2') #刪除的是demo2這個文件print('目錄刪除成功!')else:print('該目錄不存')

注:

rmdir()函數只能刪除空的目錄,如果不為空就不能刪除,可以一下代碼刪除不為空的目錄。

import shutilshutil.rmtree('C:demotext')

demo —— 遍歷目錄

os.walk()的返回值是一個包含三個元素(dirpath,dirnams,filenames)的元組生成器對象。

dirpath: 是一個字符串,表示當前遍歷的路徑

dirnames: 是一個列表,表示的是當前路徑下包含的子目錄

filenames: 也是一個列表,當前目錄下的文件

os.walk(top,[topdown][,onerror][,followlinks])’’’top: 用于指定要遍歷的目錄topdown: 可選參數,用于指定要遍歷的順序,如果為True(默認),表示從上到下遍歷,如果為False,表示從小到上。’’’

import ospath = 'C:demo'#root 是當前根路徑,dirs包含路徑下的子目錄,files包含了子目錄下的二五年間for root,dirs,fles in os.walk(path,topdown=True):for name in dirs:print(os.path.join(root,name))for name in files:print(os.path.join(root.name))

demo —— 產找當前目錄下某個文件是否存在

import ospath = 'C:demo'filename = 'love.txt'for root,dirs,files in os.walk(path):for name in files:if filename== name:print(os.path.join(root,name))

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

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 润东方环保空调,冷风机,厂房车间降温设备-20年深圳环保空调生产厂家 | 120kv/2mA直流高压发生器-60kv/2mA-30kva/50kv工频耐压试验装置-旭明电工 | 冷镦机-多工位冷镦机-高速冷镦机厂家-温州金诺机械设备制造有限公司 | 氧化铁红厂家-淄博宗昂化工 | 创富网-B2B网站|供求信息网|b2b平台|专业电子商务网站 | 卫浴散热器,卫浴暖气片,卫生间背篓暖气片,华圣格浴室暖气片 | 模具ERP_模具管理系统_模具mes_模具进度管理_东莞市精纬软件有限公司 | 阿里巴巴诚信通温州、台州、宁波、嘉兴授权渠道商-浙江联欣科技提供阿里会员办理 | 胃口福饺子加盟官网_新鲜现包饺子云吞加盟 - 【胃口福唯一官网】 | 鑫铭东办公家具一站式定制采购-深圳办公家具厂家直销 | 石英陶瓷,石英坩埚,二氧化硅陶瓷-淄博百特高新材料有限公司 | 河南空气能热水器-洛阳空气能采暖-洛阳太阳能热水工程-洛阳润达高科空气能商行 | 昊宇水工|河北昊宇水工机械工程有限公司 | 量子管通环-自清洗过滤器-全自动反冲洗过滤器-北京罗伦过滤技术集团有限公司 | 贵州科比特-防雷公司厂家提供贵州防雷工程,防雷检测,防雷接地,防雷设备价格,防雷产品报价服务-贵州防雷检测公司 | 北京亦庄厂房出租_经开区产业园招商信息平台 | 振动台-振动试验台-振动冲击台-广东剑乔试验设备有限公司 | 层流手术室净化装修-检验科ICU改造施工-华锐净化工程-特殊科室建设厂家 | 翻斗式矿车|固定式矿车|曲轨侧卸式矿车|梭式矿车|矿车配件-山东卓力矿车生产厂家 | 无轨电动平车_轨道平车_蓄电池电动平车★尽在新乡百特智能转运设备有限公司 | 臻知网大型互动问答社区-你的问题将在这里得到解答!-无锡据风网络科技有限公司 | 防水套管_柔性防水套管_刚性防水套管-巩义市润达管道设备制造有限公司 | 气力输送_输送机械_自动化配料系统_负压吸送_制造主力军江苏高达智能装备有限公司! | 定做大型恒温循环水浴槽-工业用不锈钢恒温水箱-大容量低温恒温水槽-常州精达仪器 | 硅PU球场、篮球场地面施工「水性、环保、弹性」硅PU材料生产厂家-广东中星体育公司 | 细沙回收机-尾矿干排脱水筛设备-泥石分离机-建筑垃圾分拣机厂家-青州冠诚重工机械有限公司 | 智能交通网_智能交通系统_ITS_交通监控_卫星导航_智能交通行业 | 钢格板|热镀锌钢格板|钢格栅板|钢格栅|格栅板-安平县昊泽丝网制品有限公司 | 钢托盘,钢制托盘,立库钢托盘,金属托盘制造商_南京飞天金属制品实业有限公司 | 12cr1mov无缝钢管切割-15crmog无缝钢管切割-40cr无缝钢管切割-42crmo无缝钢管切割-Q345B无缝钢管切割-45#无缝钢管切割 - 聊城宽达钢管有限公司 | 冷藏车-东风吸污车-纯电动环卫车-污水净化车-应急特勤保障车-程力专汽厂家-程力专用汽车股份有限公司销售二十一分公司 | 玄米影院| 桁架楼承板-钢筋桁架楼承板-江苏众力达钢筋楼承板厂 | 阴离子聚丙烯酰胺价格_PAM_高分子聚丙烯酰胺厂家-河南泰航净水材料有限公司 | 细砂提取机,隔膜板框泥浆污泥压滤机,螺旋洗砂机设备,轮式洗砂机械,机制砂,圆锥颚式反击式破碎机,振动筛,滚筒筛,喂料机- 上海重睿环保设备有限公司 | 北京翻译公司_同传翻译_字幕翻译_合同翻译_英语陪同翻译_影视翻译_翻译盖章-译铭信息 | 云杂志网-学术期刊-首页 | 辽宁资质代办_辽宁建筑资质办理_辽宁建筑资质延期升级_辽宁中杭资质代办 | 净水器代理,净水器招商,净水器加盟-FineSky德国法兹全屋净水 | 培训一点通 - 合肥驾校 - 合肥新亚驾校 - 合肥八一驾校 | 液氮罐_液氮容器_自增压液氮罐-北京君方科仪科技发展有限公司 |