亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

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

Python 自動化常用操作及glob使用大全

瀏覽:21日期:2022-08-06 17:24:53
目錄1. OS模塊2. shutil模塊3. globa模塊glob的幾種用法

本文摘自微信公眾號 GitPython:十個 Python 自動化常用操作。如有侵權,聯系必刪。

1. OS模塊

導入:import os

1. 遍歷文件夾

批量操作的前提就是對文件夾進行遍歷,os.walk遍歷文件夾后產生三個參數:

當前文件夾路徑 包含文件夾的名稱(列表形式) 包含文件名稱(列表形式)

代碼如下(按需求更改目標路徑即可):

for dirpath, dirnames, filenames in os.walk(r’C:Program Files (x86)’): print(f’打開文件夾{dirpath}’) # 當前文件夾路徑 if dirnames:print(dirnames) # 包含文件夾名稱(列表形式) if filenames:print(filenames) # 包含文件名稱(列表形式) print(’-’ * 10)# 輸出結果:打開文件夾C:Program Files (x86)[’360’, ’BirdWallpaper’, ’Common Files’, ’erl5.9.3.1’, ’InstallShield Installation Information’, ’Intel’, ’Internet Explorer’, ’IQIYI Video’, ’Java’, ’Kingsoft’, ’Microsoft Office’, ’Microsoft.NET’, ’MSBuild’, ’NetSarang’, ’NVIDIA Corporation’, ’Reference Assemblies’, ’Sangfor’, ’Sinfor’, ’SogouInput’, ’svnfile’, ’Tencent’, ’UltraEdit’, ’VMware’, ’Windows Defender’, ’Windows Mail’, ’Windows Media Player’, ’Windows Multimedia Platform’, ’Windows NT’, ’Windows Photo Viewer’, ’Windows Portable Devices’, ’Windows Sidebar’, ’WindowsPowerShell’, ’Youdao’][’desktop.ini’, ’微軟常用運行庫合集_2019.07.20_X64.exe’]----------打開文件夾C:Program Files (x86)360[’360bizhi’, ’360Safe’, ’360SD’]

2. 目標路徑是否是文件

給定一個目標路徑path,通過一行代碼判斷該路徑是文件夾還是文件夾路徑,使用os.path.isfile(path),返回True或False。

path = r’C:UsersAdministratorDesktopdocnote.md’print(os.path.isfile(path)) # Truepath = ’xxx’print(os.path.isfile(path)) # False

3. 獲取路徑中的文件名

os模塊方式:os.path.basename可以直接從絕對路徑中獲取最后的文件名

path = r’C:UsersAdministratorDesktopdocnote.md’print(os.path.basename(path))print(path.split(’’)[-1])# note.md

切割字符串方式:path.split(’’)[-1]

path = r’C:UsersAdministratorDesktopdocnote.md’print(path.split(’’)[-1])# note.md

4. 創建文件夾

創建文件夾的代碼非常常用,因為往往生成的新文件都希望有個新的文件夾存儲。

dirpath = ’xxx’os.mkdir(dirpath)# 這樣會在該`py`文件同一目錄下生成名為`xxx`的文件夾

但如果存在同名文件夾會報錯FileExistsError: [WinError 183] 當文件已存在時,無法創建該文件。: ’xxx’,為了避免報錯可在創建前先判斷是否存在:

dirpath = ’xxx’if not os.path.exists(dirpath): os.mkdir(dirpath)

5. 獲取桌面路徑

獲取桌面路徑非常常用,可使用os.path.join(os.path.expanduser('~'), ’Desktop’)獲取桌面的絕對路徑 好處:把數據放到桌面上,在不同的電腦上都能調用代碼對數據進行處理。 如果是在一臺電腦上把桌面路徑固定在字符串中,則換一臺電腦就必須修改桌面路徑

desktop_path = os.path.join(os.path.expanduser('~'), ’Desktop’)print(desktop_path)# C:UsersAdministratorDesktop

封裝成一個函數進行調用

def get_desktop_path(): return os.path.join(os.path.expanduser('~'), ’Desktop’)

6. 重命名文件/文件夾 使用os.rename()方法

os.rename(’xxx’, ’xxx2’) # 重命名文件夾os.rename(’test.txt’, ’test2.txt’) # 重命名文件

7. 批處理文件 - 1

除了os.walk外,在非遍歷各級文件夾時,還可用os.scandir()獲取指定路徑的全部或符合條件的文件,使用for循環,獲取循環變量的name和path:

path = ’.’for file in os.scandir(path): print(file.name, file.path)# 輸出結果:aaa .aaaos模塊.py .os模塊.pytest2.txt .test2.txtxxx2 .xxx2# 如果path是絕對路徑,下邊打印出來的也是絕對路徑

8. 批處理文件 - 2

獲取指定路徑的全部或符合條件的文件第二種方法使用os.listdir()獲取文件名:

path = r’F:pythonpython-basictips自動化常用操作’for file in os.listdir(path): print(file)# 輸出結果:aaaos模塊.pytest2.txtxxx22. shutil模塊

9. 移動文件/文件夾(并重命名) shutil常用于 移動文件/文件夾,使用shutil.move()方法:

import shutil# 把當前目錄下的shutil_test.txt文件移動到當前目錄的bbb文件夾下shutil.move(r’.shutil_test.txt’, r’.bbb/’)# 把當前目錄下的shutil_test2.txt文件移動到當前目錄bbb文件夾下,并重命名為shutil_test22.txtshutil.move(r’.shutil_test2.txt’, r’.bbb/shutil_test22.txt’)3. globa模塊

10. 批處理文件 - 3

golb模塊最重要的功能是搜索獲取同一級或各子級下符合條件的文件(絕對路徑),非常適合寫批處理的代碼。 對大量文件進行相同操作,在寫完針對一份文件的操作后,只需加上幾行代碼就可以完成批處理全部文件的工作 參數:*表示任意字符長度;**/*表示用通配符指代給定路徑下的任何一層;recursive為True表示允許遍歷搜索,默認為False

import globfor file in glob.glob(’**/*’, recursive=True): print(file)# 輸出結果:aaabbbglob模塊.pyos模塊.pyshutil模塊.pytest2.txtxxx2bbbshutil_test.txtbbbshutil_test22.txt

glob可獲取指定路徑下文件的絕對路徑,也可接受 通配符 搜索,拓寬了靈活程度。

glob的幾種用法 glob 最重要的功能是 搜索獲取同一級或各子級下符合條件的文件(絕對路徑)。 導入:import glob demo1:獲取當前目錄下所有文件和文件夾及其文件

for file in glob.glob(’**/*’, recursive=True): print(file)# 輸出結果:aaabbbglob模塊.pyos模塊.pyshutil模塊.pytest2.txtxxx2bbbshutil_test.txtbbbshutil_test22.txtbbbwbbbwaaaa.txtbbbwsbbbwsi.txt

demo2:獲取當前目錄bbb下的文件及其一層子文件

for file in glob.glob(’./bbb/*’): print(file)# 輸出結果:./bbbshutil_test.txt./bbbshutil_test22.txt./bbbw

demo3:獲取當前目錄bbb下所有文件和文件夾及其文件

for file in glob.glob(’./bbb/**’, recursive=True): print(file)# 輸出結果:./bbb./bbbshutil_test.txt./bbbshutil_test22.txt./bbbw./bbbwaaaa.txt./bbbws./bbbwsi.txt

demo4:獲取當前目錄bbb下嵌套兩層內的文件和文件夾

for file in glob.glob(’./bbb’ + ’/*/*’): print(file)# 輸出結果:./bbbwaaaa.txt./bbbws

demo5:遍歷包含指定名稱的文件和文件夾

import osarm_path = glob.glob(os.path.join(’./bbb’, ’*.txt’))print(arm_path)# 輸出結果:[’./bbbshutil_test.txt’, ’./bbbshutil_test22.txt’]

到此這篇關于Python 自動化常用操作的文章就介紹到這了,更多相關Python 自動化內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 美女免费毛片 | 黄色毛片视频在线观看 | 国产综合精品一区二区 | 国产免费高清 | 欧美aaa级 | 国产精品视_精品国产免费 国产精品视频久 | 在线播放波多野结衣 | 成人毛片免费在线观看 | 久久中文字幕乱码免费 | 久久国产一区二区三区 | 欧美成人手机在线 | 一级做a爰片久久毛片 | 国产成人精品福利网站在线 | 成人免费福利片在线观看 | 日本高清福利视频在线观看 | 免费国产成人高清无线看软件 | 色播亚洲精品网站 亚洲第一 | 亚洲欧美一区二区三区综合 | 国产一区二区亚洲精品天堂 | 欧美成人xxxx| 国产亚洲亚洲精品777 | 国产成人黄网址在线视频 | 国内自拍视频在线看免费观看 | 中文字幕一区二区三 | 在线国产一区二区三区 | 国产女人一区二区 | 日韩在线看片中文字幕不卡 | 亚洲欧美在线综合一区二区三区 | 一级特黄aaa大片 | 国产国产人免费人成成免视频 | 中文字幕亚洲精品日韩精品 | 国产成人在线免费视频 | 久久精品最新免费国产成人 | 欧做爰xxxⅹ性欧美大 | 996热在线视频 | 欧美肥婆videoxxx | 亚洲精品久久99久久 | 亚洲国产日韩女人aaaaaa毛片在线 | 123成人网 | 国产精品欧美一区二区三区 | 91精品全国免费观看 |