Python 解压缩和重命名文件/文件夹

Python 解压缩和重命名文件/文件夹,python,python-2.7,zip,Python,Python 2.7,Zip,对python来说有点陌生。但在搜索并尝试解压一些文件夹后,请重命名没有静态名称的文件夹。例如,该文件是New_05222016。s是日期,它总是变化的。我希望它是一个标签为“新”的解压缩文件夹 这就是我目前所拥有的。它将解压缩我的文件,但不会重命名它 import zipfile,fnmatch,os rootPath = r"C:/Users/Bob/Desktop/Bill" pattern = '*.zip' New = 'New*' for root, dirs, files i

对python来说有点陌生。但在搜索并尝试解压一些文件夹后,请重命名没有静态名称的文件夹。例如,该文件是New_05222016。s是日期,它总是变化的。我希望它是一个标签为“新”的解压缩文件夹

这就是我目前所拥有的。它将解压缩我的文件,但不会重命名它

import zipfile,fnmatch,os

rootPath = r"C:/Users/Bob/Desktop/Bill"
pattern = '*.zip'
New = 'New*'


for root, dirs, files in os.walk(rootPath):
    for filename in fnmatch.filter(files, pattern):
        print(os.path.join(root, filename))
        zipfile.ZipFile(os.path.join(root, filename)).extractall(os.path.join(root, os.path.splitext(filename)[0]))

for root, dirs, files in os.walk(rootPath):
    for filename in fnmatch.filter(dir,New):
        os.rename(dir,'C:/Users/Bob/Desktop/Bill/New')
如果你尝试其他方法。例如,只需重命名os.rename并将其键入即可。但是我不知道该怎么办。

os.rename()可以正常工作,只需确保指定完整路径即可

我已经使用os.listdir()修改了您的示例,以存储解压缩目录的名称,然后使用os.rename()重命名它。我还使用re保留压缩文件的名称不变

import zipfile,fnmatch,os, re

rootPath = r"C:\Users\Bob\Desktop\Bill"
pattern = '*.zip'
New = 'New*'

for root, dirs, files in os.walk(rootPath):
    for filename in fnmatch.filter(files, pattern):
        print(os.path.join(root, filename))
        zipfile.ZipFile(os.path.join(root,     filename)).extractall(os.path.join(root, os.path.splitext(filename)[0]))

for dirName in os.listdir(rootPath):
    if not re.search("zip", dirName):
        os.rename(os.path.join(rootPath, dirName), os.path.join(rootPath,"New"))
我希望这有帮助