亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

 更新時間:2020年07月08日 10:04:20   作者:lc-snail  
這篇文章主要介紹了python文件及目錄操作代碼匯總,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

前言

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

一.文件基本操作

1.創(chuàng)建和打開文件

想要操作文件,先要創(chuàng)建或者打開指定文件并創(chuàng)建文件對象,可以通過內(nèi)置函數(shù)open()來實現(xiàn)。

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

mode參數(shù)的參數(shù)值表

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

注意

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

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

2.關(guān)閉文件

打開文件之后,需要及時關(guān)閉,以免對文件造成不必要的破壞??梢杂脙?nèi)置函數(shù)close()。

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

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

3.寫入文件

語法

file = write(string)

demo

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

注:

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

4.讀取文件

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

(1)讀取指定字符

file.read([size])

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

(2)讀取一行

file.readline()

該方法用于讀取一行文本

(3)讀取全部行

file.readlins()

二.目錄操作

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

os模塊提供的與目錄相關(guān)的函數(shù)

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

os.path模塊提供與目錄有關(guān)的函數(shù)

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

demo —— 獲取當前工作目錄

import os
print(os.getcwd())

demo —— 判斷目錄是否存在

import os
print(os.path.exists("c:\\demo"))

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

demo —— 創(chuàng)建一級目錄

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

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

demo —— 創(chuàng)建多級目錄

import os
os.makedirs("C:\\demo1\\demo2\\...")

demo —— 刪除目錄

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

注:

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

import shutil
shutil.rmtree("C:\\demo\\text")

demo —— 遍歷目錄

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

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

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

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

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

import os
path = "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 —— 產(chǎn)找當前目錄下某個文件是否存在

import os
path = "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))

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Pandas讀取csv的實現(xiàn)

    Pandas讀取csv的實現(xiàn)

    本文主要介紹了Pandas讀取csv的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-01-01
  • 通過Python實現(xiàn)在Word中添加和刪除書簽的操作

    通過Python實現(xiàn)在Word中添加和刪除書簽的操作

    在Word中,書簽功能是一個非常實用的工具,它允許用戶快速定位到文檔中的特定位置,無論是進行文檔審閱、編輯還是查找特定信息,書簽都能提供極大的便利,下面將詳細介紹如何通過Python在Word文檔中添加和刪除書簽,需要的朋友可以參考下
    2024-09-09
  • python實現(xiàn)多線程端口掃描

    python實現(xiàn)多線程端口掃描

    這篇文章主要為大家詳細介紹了python實現(xiàn)多線程端口掃描,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • python局域網(wǎng)ip掃描示例分享

    python局域網(wǎng)ip掃描示例分享

    這篇文章主要介紹了python局域網(wǎng)ip掃描示例,需要的朋友可以參考下
    2014-04-04
  • Python并發(fā)編程實例教程之線程的玩法

    Python并發(fā)編程實例教程之線程的玩法

    編程的樂趣之一是想辦法讓程序執(zhí)行的越來越快,代碼越寫越優(yōu)雅,這篇文章主要給大家介紹了關(guān)于Python并發(fā)編程實例教程之線程的相關(guān)資料,需要的朋友可以參考下
    2021-06-06
  • python操作excel文件并輸出txt文件的實例

    python操作excel文件并輸出txt文件的實例

    今天小編就為大家分享一篇python操作excel文件并輸出txt文件的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • Tensorflow中TFRecord生成與讀取的實現(xiàn)

    Tensorflow中TFRecord生成與讀取的實現(xiàn)

    TFRecord格式的文件存儲形式會很合理的幫我們存儲數(shù)據(jù),本文主要介紹了Tensorflow中TFRecord生成與讀取的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-05-05
  • 使用matplotlib繪制熱圖(heatmap)全過程

    使用matplotlib繪制熱圖(heatmap)全過程

    這篇文章主要介紹了使用matplotlib繪制熱圖(heatmap)全過程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Python warning警告出現(xiàn)的原因及忽略方法

    Python warning警告出現(xiàn)的原因及忽略方法

    在本篇文章里小編給大家分享的是關(guān)于Python warning警告出現(xiàn)的原因及忽略方法,有需要的朋友們可以學習參考下。
    2020-01-01
  • 基于Python數(shù)據(jù)可視化利器Matplotlib,繪圖入門篇,Pyplot詳解

    基于Python數(shù)據(jù)可視化利器Matplotlib,繪圖入門篇,Pyplot詳解

    下面小編就為大家?guī)硪黄赑ython數(shù)據(jù)可視化利器Matplotlib,繪圖入門篇,Pyplot詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10

最新評論