1

ディレクトリのすべてのコンテンツを含む「バックアップ」ディレクトリ内にZIPを作成するPythonスクリプトを作成しようとしています。

私のファイル構造:

C:/
    Users/
        myuser/
            backups/
                blah.gif
                config.xml
                etc.

したがって、スクリプトで、ディレクトリC:/Users/myuser/backups/mybackup.zipのすべてのコンテンツ ( 、 など) を含むを作成する必要があります。backups/blah.gifconfig.xml

私が使用しているコードは次のとおりです。

backupDir = "C:/Users/myuser/backups/"
backupFile = "mybackup.zip"
file = zipfile.ZipFile(backupDir + backupFile, "w")
for name in glob.glob(backupDir):
    print "Found " + name
    file.write(name, os.path.basename(name), zipfile.ZIP_DEFLATED)
file.close()

これを実行するとC:/Users/myuser/backups/mybackup.zipファイルが生成されますが、解凍すると空です。私はどこで迷うのですか?前もって感謝します!

4

1 に答える 1

3

glob はパターンマッチを期待します。使いやすいので、私は os.listdir() を使用することを好みます。

backupDir = "C:/Users/myuser/backups/"
backupFile = "mybackup.zip"
file = zipfile.ZipFile(backupDir + backupFile, "w")
for name in os.listdir(backupDir):
    if name == backupFile:
        continue
    fullname = backupDir + name
    print "Found " + name
    file.write(fullname, os.path.basename(name), zipfile.ZIP_DEFLATED)
file.close()
于 2012-08-14T22:52:04.233 に答える