日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

python 批量重命名移動文件

瀏覽:18日期:2022-06-24 14:26:09

今天介紹的案例是如何利用Python來自動化移動、修改、重命名文件/夾,這樣的操作在日常辦公中經(jīng)常會用到,若能掌握用Python實現(xiàn)將會大大提高效率!

所以我希望能夠通過這篇文章來讓大家了解:如何基于 os glob 和 shutil 對文件管理的綜合運用!

一、需求描述

為了讓本文介紹的案例更有通用型,我新建了一個文件夾 files1 存放著 1800+ 個文件,如下所示:

python 批量重命名移動文件

需要完成的內(nèi)容如下

“將 1835 個文件移動到新文件夾 file2,并且重命名文件,名字開頭加上 序號 和 “終稿” 兩個字,如名字更改為 “1-終稿-xxxxx(原文件名)””

你心里可能想著:這是人做的事??? 但確實這是真實的需求,文件批量重命名非常常見,如果沒有一些技巧,那么只能耗費大量的時間和人力去做。這里的技巧,就是 Python

另外還有一個問題:要先移動再重命名還是先重命名再移動呢? 繼續(xù)往下看!

二、前置知識和數(shù)據(jù)準備2.1 生成大量隨機文件

真實的辦公場景并不會這樣的需求,畢竟誰想要無端給自己的電腦產(chǎn)生大量無用文件呢(也不要給別人的電腦亂用)

不得不提,生成隨機文件能夠幫助我們更好的測試自己 Python 文件管理的技能。如果你沒有合適的文件夾和文件夾供自己練習,那么為什么不自己寫個代碼產(chǎn)生呢?

當然,在這個過程中我們也會學習一些知識點,先看代碼:

import randomimport stringfor i in range(2000): random_str = ’’.join(random.sample(string.ascii_letters + string.digits, random.randint(1, 11))) file = open(r'C:xxxfile1' + random_str + '.txt', ’w+’) # 前面路徑是產(chǎn)生文件的目標文件夾 file.write(’’.join(random.sample(string.ascii_letters + string.digits, random.randint(1, 11)))) file.close()

通過 string 就可以獲得所有的字母和數(shù)字,利用 random.sample() 常規(guī)接受兩個參數(shù),一個是抽樣的范圍,一個是抽樣的次數(shù),默認是放回抽樣。這樣就可以在給定的字母數(shù)字范圍內(nèi)隨機抽取 1-10 個,但是返回的結(jié)果注意是列表,需要再用 .join 方法完成字符串拼接

用隨機產(chǎn)生的名字生成文件后,再在其內(nèi)部用類似的方法隨機寫入一些內(nèi)容:

python 批量重命名移動文件

上面的寫法不夠優(yōu)雅,因為需要配套使用 file.close() 釋放,更好的方法是直接利用上下文管理器 with 結(jié)構(gòu),減少出錯的幾率

import randomimport stringfor i in range(2000): random_str = ’’.join(random.sample(string.ascii_letters + string.digits, random.randint(1, 11))) with open(r'C:xxxfile1' + random_str + '.txt', ’w+’) as file: file.write(’’.join(random.sample(string.ascii_letters + string.digits, random.randint(1, 11))))

因為即使是隨機產(chǎn)生名字,但抽樣的范圍和次數(shù)不大決定了 2000 次抽樣會有一些抽簽組合成的名字完全一樣,后面形成的文件會覆蓋之前產(chǎn)生的文件,最終導致產(chǎn)生的文件沒有 2000 個。

2.2 重命名文件/文件夾

需要用到內(nèi)置庫 os 的 os.rename() 方法

import osos.rename(’practice.txt’, ’practice_rename.txt’) # 重命名文件os.rename(’文件夾1’, ’文件夾2’) # 重命名文件夾

雖然需求中有重命名文件的需求,但實際上并不需要直接借助這個方法

2.3 移動文件/文件夾

需要用到內(nèi)置庫 shutil 的 shutil.move 方法

import shutil shutil.move(r’.practice.txt’, r’.文件夾1/’) shutil.move(r’.practice.txt’, r’.文件夾1/new.txt’)

注意到上面后兩行代碼的區(qū)別嗎?前一行是將目標文件移動到目標文件夾里,而后一行,在將目標文件移動到目標文件夾里的同時,能夠?qū)ζ溥M行重命名

也就是說,我們并不需要用 os.rename 先命名文件再用 shutil.move 將其移動的指定文件夾,而是可以用 shutil.move 一步到位。

2.4 遍歷獲取文件

采用基于 glob 庫的迭代框架:

import globpath = xxxfor file in glob.glob(f’{path}/**/*.xlsx’, recursive=True): pass

上面的代碼能夠獲取給定路徑內(nèi)部所有文件夾下的 Excel 文件(.xlsx 格式), recursive 參數(shù)默認為 False,當為 True 時允許逐級遍歷

而本例需要獲取給定文件夾下的所有 .txt 文件,則更加簡單:

import globpath = xxxfor file in glob.glob(f’{path}/*.txt’): pass三、代碼實現(xiàn)

在上面一節(jié)我們已經(jīng)把需求拆分為多個小塊并理清了思路,現(xiàn)在可以開始寫代碼了。首先導入需要的庫

import osimport shutilimport globpath = r'C:xxx' # 存放大量需更名移動文件的文件夾路徑的上一級路徑

上文提到,不需要利用 os.rename 那為什么要導入 os 庫呢?

一方面因為要通過這個庫產(chǎn)生新的文件夾。也可以手動完成,但交給代碼多了判斷也不容易出錯:

if not os.path.exists(path + r’file2’): os.mkdir(path + r’file2’)

另一方面下文還會用它獲取文件名,然后就可以移動更名一步到位,glob 迭代文件框架遍歷獲取文件絕對路徑:

count = 1 # 生成序號for file in glob.glob(f’{path}測試*.txt’): # 這里是文件絕對路徑,可以用字符串方法直接替換修改,但為了方便理解我還是用路徑拼接 filename = os.path.basename(file) shutil.move(file, path + r’file2’ + f’{count}-終稿-{filename}’) count += 1

python 批量重命名移動文件

以上就是python 批量重命名移動多個文件的詳細內(nèi)容,更多關于python 批量重命名移動文件的資料請關注好吧啦網(wǎng)其它相關文章!

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产精品一区二区av交换| 91欧美日韩| 奇米亚洲欧美| 国产免费久久| 久久久久久久久99精品大| 日韩精品91| 国产精品腿扒开做爽爽爽挤奶网站| 国产91久久精品一区二区| 国产女优一区| 亚洲影视一区| 中文字幕日韩欧美精品高清在线| 91嫩草精品| 日韩欧美精品综合| 亚洲理论在线| av资源中文在线| 蜜臀av国产精品久久久久| 视频一区中文字幕精品| 狂野欧美性猛交xxxx| 欧美特黄一级| 久久av影视| 蜜桃视频欧美| 欧美国产不卡| 免费在线观看成人| 综合日韩av| 99在线精品免费视频九九视| 综合激情视频| 美女尤物久久精品| 韩国女主播一区二区三区| 亚洲免费中文| 国产精品高潮呻吟久久久久| 婷婷激情久久| 欧美精品影院| 亚洲高清激情| 国产精品v日韩精品v欧美精品网站 | 久久激情一区| 在线日韩中文| 麻豆久久一区二区| 蜜臀国产一区二区三区在线播放 | 一本大道色婷婷在线| 亚洲伊人精品酒店| 性欧美videohd高精| 91视频一区| 1000部精品久久久久久久久| 麻豆视频在线观看免费网站黄| 精品一区二区三区四区五区| 国产在线看片免费视频在线观看| 在线国产一区二区| 视频一区中文字幕精品| 精品国产乱码久久久| 91九色精品国产一区二区| 亚洲精品视频一二三区| 国产第一亚洲| 亚洲一区二区免费看| 亚洲成人av观看| 在线亚洲自拍| 国产精品免费不| 精品欧美久久| 国产日本久久| 91精品婷婷色在线观看| 亚洲国产日韩欧美在线| 日韩三级视频| 日韩欧美三级| 日本不卡高清| 久久精品不卡| 日韩va亚洲va欧美va久久| 久久电影tv| 亚洲精品系列| 久久久国产亚洲精品| 欧美一级久久| 亚洲电影在线| 免费在线日韩av| 精品视频一区二区三区在线观看| 亚洲一区二区三区免费在线观看| 美女视频免费精品| 99riav国产精品| 精品一区二区三区中文字幕在线| 亚洲一区欧美二区| 精品三级国产| 午夜电影一区| 人在线成免费视频| 91精品丝袜国产高跟在线| 伊人久久亚洲影院| 免费看一区二区三区| 综合干狼人综合首页| 日韩在线二区| 免费在线亚洲欧美| 中文字幕日韩高清在线| 精品免费av在线| 久久99免费视频| 免费日韩精品中文字幕视频在线| 精品国产乱码久久久| 亚洲精品护士| 欧美日韩中文一区二区| 福利一区和二区| 91亚洲无吗| 日韩精品一二三| 亚洲91精品| 福利欧美精品在线| 国产精品主播| 亚洲aa在线| 亚洲自啪免费| 久久网站免费观看| 日本精品影院| 国产福利片在线观看| 国产欧美综合一区二区三区| 老司机久久99久久精品播放免费| 久久青草久久| 欧美天堂视频| 国产精品乱战久久久| 日本欧美一区二区| 日韩影院免费视频| 蜜桃久久av| 99在线精品免费视频九九视| 成人日韩精品| 黑人精品一区| 国产精品久久久久久久久久白浆 | 日韩手机在线| 免费成人性网站| 亚洲欧美日韩国产| 欧美美女一区| 亚洲激情久久| 五月婷婷六月综合| 欧美一区自拍| 久久午夜视频| 中文国产一区| 在线看片福利| 国产欧美日韩影院| 日本强好片久久久久久aaa| 亚洲综合三区| 黑丝美女一区二区| 午夜国产欧美理论在线播放 | 久久精品国产99国产精品| 清纯唯美亚洲综合一区| 欧美天堂在线| 欧美日韩1区2区3区| 国产精品一区毛片| 国产精品免费大片| 免费在线欧美黄色| 福利欧美精品在线| av在线最新| 久久人人99| 国产亚洲精品v| 爽好久久久欧美精品| 快she精品国产999| 9国产精品视频| 日韩激情一区二区| 欧美日韩午夜电影网| 欧美激情网址| 国产va免费精品观看精品视频| 国产精品成久久久久| 欧美羞羞视频| 欧美日韩国产探花| 亚洲区国产区| 国产毛片精品| 免费高潮视频95在线观看网站| 在线成人动漫av| 国产精品美女| 欧美自拍一区| 精品视频在线观看网站| 蜜臀久久精品| 亚洲欧洲一区| 久久精品99久久久| 国产中文字幕一区二区三区| 日本一二区不卡| 欧美精品一二| 日韩国产在线一| 国产成人精品一区二区三区视频 | 久久中文在线| 成人羞羞在线观看网站| 伊人精品视频| 国产精品亚洲综合久久| 日韩电影免费网址| 欧美一级专区| 日本三级亚洲精品| 日韩1区在线| 99成人在线| 欧美日韩99| 欧美日韩一区二区综合| 亚洲深深色噜噜狠狠爱网站| 欧美韩一区二区| 99久精品视频在线观看视频| 美女久久一区| 国产suv精品一区| 黄页网站一区| 国产精品视频一区二区三区四蜜臂| 国产成人久久精品一区二区三区| 欧美日韩国产高清| 国产日韩欧美三区| 欧美在线看片| 欧美亚洲精品在线| 蜜臀av性久久久久蜜臀aⅴ流畅| 18国产精品| 日本在线不卡视频| 日韩一区欧美二区| 美女国产精品| 日本成人在线一区| 国产精品日韩精品在线播放| 蜜臀av一区二区在线免费观看| 99久久久久国产精品| 偷拍亚洲精品|