91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python自動化常用操作有哪些

發布時間:2021-08-26 18:21:04 來源:億速云 閱讀:154 作者:chen 欄目:開發技術

這篇文章主要介紹“Python自動化常用操作有哪些”,在日常操作中,相信很多人在Python自動化常用操作有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Python自動化常用操作有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

目錄
  • 1. OS模塊

  • 2. shutil模塊

  • 3. globa模塊

  • glob的幾種用法

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),返回TrueFalse

path = r'C:\Users\Administrator\Desktop\doc\note.md'
print(os.path.isfile(path))  # True
path = 'xxx'
print(os.path.isfile(path))  # False

3. 獲取路徑中的文件名

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

path = r'C:\Users\Administrator\Desktop\doc\note.md'
print(os.path.basename(path))
print(path.split('\\')[-1])
# note.md

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

path = r'C:\Users\Administrator\Desktop\doc\note.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:\Users\Administrator\Desktop

封裝成一個函數進行調用

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循環,獲取循環變量的namepath

path = '.'
for file in os.scandir(path):
    print(file.name, file.path)

# 輸出結果:
aaa .\aaa
os模塊.py .\os模塊.py
test2.txt .\test2.txt
xxx2 .\xxx2
# 如果path是絕對路徑,下邊打印出來的也是絕對路徑

8. 批處理文件 - 2

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

path = r'F:\python\python-basic\tips\自動化常用操作'
for file in os.listdir(path):
    print(file)

# 輸出結果:
aaa
os模塊.py
test2.txt
xxx2

2. 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.txt
shutil.move(r'.\shutil_test2.txt', r'.\bbb/shutil_test22.txt')

3. globa模塊

10. 批處理文件 - 3

  • golb模塊最重要的功能是搜索獲取同一級或各子級下符合條件的文件(絕對路徑),非常適合寫批處理的代碼。

  • 對大量文件進行相同操作,在寫完針對一份文件的操作后,只需加上幾行代碼就可以完成批處理全部文件的工作

  • 參數*表示任意字符長度;**/*表示用通配符指代給定路徑下的任何一層;recursiveTrue表示允許遍歷搜索,默認為False

import glob

for file in glob.glob('**/*', recursive=True):
    print(file)

# 輸出結果:
aaa
bbb
glob模塊.py
os模塊.py
shutil模塊.py
test2.txt
xxx2
bbb\shutil_test.txt
bbb\shutil_test22.txt

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

glob的幾種用法

  • glob 最重要的功能是 搜索獲取同一級或各子級下符合條件的文件(絕對路徑)

  • 導入:import glob

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

for file in glob.glob('**/*', recursive=True):
    print(file)

# 輸出結果:
aaa
bbb
glob模塊.py
os模塊.py
shutil模塊.py
test2.txt
xxx2
bbb\shutil_test.txt
bbb\shutil_test22.txt
bbb\w
bbb\w\aaaa.txt
bbb\w\s
bbb\w\s\i.txt

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

for file in glob.glob('./bbb/*'):
    print(file)

# 輸出結果:
./bbb\shutil_test.txt
./bbb\shutil_test22.txt
./bbb\w

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

for file in glob.glob('./bbb/**', recursive=True):
    print(file)

# 輸出結果:
./bbb\
./bbb\shutil_test.txt
./bbb\shutil_test22.txt
./bbb\w
./bbb\w\aaaa.txt
./bbb\w\s
./bbb\w\s\i.txt

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

for file in glob.glob('./bbb' + '/*/*'):
    print(file)

# 輸出結果:
./bbb\w\aaaa.txt
./bbb\w\s

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

import os

arm_path = glob.glob(os.path.join('./bbb', '*.txt'))
print(arm_path)
# 輸出結果:
['./bbb\\shutil_test.txt', './bbb\\shutil_test22.txt']

到此,關于“Python自動化常用操作有哪些”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

砚山县| 正宁县| 丹棱县| 耒阳市| 禹城市| 兰州市| 兰西县| 蓝山县| 阿拉尔市| 天长市| 观塘区| 马边| 同德县| 普宁市| 双柏县| 定结县| 普兰县| 宝应县| 台中县| 施秉县| 凉城县| 渭南市| 出国| 墨江| 商洛市| 都安| 昌都县| 纳雍县| 章丘市| 东兰县| 吐鲁番市| 即墨市| 文山县| 长岭县| 永定县| 奎屯市| 大港区| 福州市| 北票市| 东宁县| 吕梁市|