2015-06-10 59 views
-2
Python script. 

import os 
[os.rename(f, f.replace('', 'xyz_')) for f in os.listdir('.') 
if not f.startswith('.')] 

從上面的腳本我希望將這些文件作爲 重命名之前重命名後重命名文件夾中的多個文件通過使用python

1.0.1.0.html 
1.20.0.0.html 
1.11.1.0.html 
1.10.1.0.html 

添加前綴,

xyz_1.0.1.0.html 
xyz_1.20.0.0.html 
xyz_1.11.1.0.html 
xyz_1.10.1.0.html 

是否有可能,誰能幫我嗎。

+0

'os.rename(f,'xyz_'+ f)'? – falsetru

回答

1

您可以使用水珠找到所有的HTML文件:

from glob import glob 
import os 
pre = "xyz_" 
[os.rename(f, "{}{}".format(pre, f)) for f in glob("*.html")] 

HTML文件開始用.應該被忽略,因爲以點開始glob對待文件名( )作爲特殊情況。

def glob(pathname): 
    """Return a list of paths matching a pathname pattern. 

    The pattern may contain simple shell-style wildcards a la 
    fnmatch. However, unlike fnmatch, filenames starting with a 
    dot are special cases that are not matched by '*' and '?' 
    patterns. 

    """ 
    return list(iglob(pathname)) 
0

嘗試 -

import os 
[os.rename(f, 'xyz_' + str(f)) for f in os.listdir('.') 
if ((not f.startswith('.')) and f.endswith(".html"))] 
+0

它也取代了其他擴展名,但我只想要.html文件應該被替換 –

+0

編輯包括。 –

+0

感謝好友 但是,如果我想用新文件名替換任何文本,在這裏沒有一個選項,因爲在我的代碼中,有找到什麼選擇和替換是。 你可以在其中添加這個選項嗎?例如, 。 「xyz_1.0.2.html」重命名爲「abc_1.0.2.html」 –

相關問題