2011-08-23 16 views
1

私はかなり大きい、圧縮されたシェイプファイルのディレクトリを持っています。私は現在、ほとんどのファイル(つまり、シェイプファイルコンポーネントのすべて.shp、.prj、.dbf ...)を解凍するPython 2.5のコードを持っていますが、いくつかの.dbfファイルを解凍する事故問題が発生します。大きなdbfファイルを解凍する際にpython 2.5エラーが発生する

これらのファイルの領域は、問題が発生した場合(30MBなど)、一般にかなり大きいですが、ファイルサイズがsemになっていないため、解凍プロセスで問題が発生することがあります。

ファイルパスに " - "と "/"が含まれている可能性のある特殊文字を調べましたが、これは他の.dbfファイルでは問題にはならないようです。私はまた、他の長いファイルパスが問題を提示しないので、ファイルパスの長さを見てきました。

7Zipは、ファイルが解凍されないように、Pythonで解凍した問題を解凍した.dbfファイルを解凍します。

私は単純な解決策は、すべてのファイルをPythonで私の追加の処理を実行する前に解凍することがわかっていますが、彼らはzipアーカイブに来るので、これを行う必要はありません最も便利です。

感謝しています。

+3

あなたは実際にどのような問題が発生したか教えていただけませんか?エラーメッセージが表示されますか?トレースバックを見せることができますか?小さなファイルのいずれかをどこかにアップロードして、人々が自分でテストできるようにすることはできますか? –

+0

申し訳ありませんが、以下の情報を提供しているはずです。エラーは:text.write(opendirec.read(n))とteエラーコードです:IO Error [Errno 22] invalid argument。 I引数はstring型です。さらにそれを見ると、正しい名前の空白ファイルが生成されても何も持たないため、解凍よりも読み込み/書き込みプロセスに問題がある可能性があります。 –

+0

あなたのコードで 'n'は数字ではなく文字列になりますか? –

答えて

0

候補となる2つの問題:抽出するファイルが空であるか、2Gbより大きい。これらの問題は、どちらも2.6または2.7で修正されました。

これらのいずれも該当しない場合は、犯人ZIPアーカイブのいずれかを公開すると、問題を追跡するのに役立ちます。

関連する問題