2

私はこのようなコードを持っています

        rar = rarfile.RarFile(source_filename)
        files = rar.namelist()
        count_files =len(files)
        i = 0
        for f in files:
            i = i+1

            percent = int((i/float(count_files))*100)
            rar.extract(f,dest_dir,self.pwd)
            self.emit(percent)
        rar.close()

GUI アプリケーションのファイルに基づいて、rar ファイルの抽出率を表示したいと考えています。rarファイルがパスワードで暗号化されていない場合、このコードは正常に機能します。rarファイルがパスワードで保護されている場合。rar.namelist()関数は常に空のリストを返します。パスワードで暗号化されたrarファイル内のすべてのファイル名を取得するにはどうすればよいですか? Pythonでパスワード保護されたrarファイル抽出のパーセンテージを取得するにはどうすればよいですか?

4

1 に答える 1

2

ドキュメントを見るsetpasswordと、パスワードを与えるために使用する必要があるようです。

例:

rar = rarfile.RarFile(source_filename)
if rar.needs_password():
    rar.setpassword('') # whatever the password is

# Rest of code here

パスワードがわからない場合は、ファイルを抽出できません。その場合、進行状況バーのポイントが実際にはわかりません。

于 2013-09-17T17:27:18.440 に答える