簡體   English   中英

在Python中“批處理”一次重命名一個文件

[英]“Batch” renaming one file at a time in Python

我想執行一種“手動”批處理操作,其中Python在目錄中查找,查看文件列表,然后一次自動顯示一個文件,並等待用戶輸入,然后再繼續下一個文件。 我將假設文件具有相對隨機的名稱(Python選擇顯示它們的順序並不重要)。

因此,我可能有pic001.jpgmyCalendar.docx 有沒有辦法讓Python(以任何順序)遍歷這些內容,以便我可以手動為每個內容添加一些內容? 例如,它看起來像

Please type a prefix for each of the following:


myCalendar.docx:

當我鍵入“ 2014”時,文件將變成2014_myCalendar.docx 然后,Python會繼續說

Please type a prefix for each of the following:


myCalendar.docx: 2014
... myCalendar.docx renamed to 2014_myCalendar.docx

pic001.jpg: 

然后我可以把它變成disneyland_pic001.jpg

我知道如何重命名文件,導航目錄等。我只是不確定如何使Python一次循環遍歷某個目錄中的每個文件,而讓我修改每個文件。 我認為,如果為每個文件都編號,那么使用for循環真的很容易,但是對於我要嘗試執行的操作,我無法假設它們會成功。

先感謝您。

此外,如果您可以向我指出一些可能對我有幫助的教程或文檔,我也將不勝感激。 我在一些標簽中打開了http://docs.python.org ,但是作為一個相對於Python和程序設計相對較新的人,我有時發現他們的語言有些麻煩。

像這樣(未經測試):

DIR = '/Volumes/foobar'

prefix = raw_input('Please type a prefix for each of the following: ')

for f in os.listdir(DIR):
    path = os.path.join(DIR, f)
    new_path = os.path.join(DIR, '%s%s' % (prefix, f))
    try:
        os.rename(path, new_path)
        print 'renamed', f
    except:
        raise

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM