問題タブ [python-magic]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
771 参照

python-2.7 - python-magic WindowsError:アクセス違反書き込み0x00000000

pipを使用してWin 7 64ビットにpython-magic(0.4.6)をインストールしました。次に、必要な dll を提供するために cygwin 1.7.33-2 をインストールし、magic1.dll という名前の cygmagic-1.dll のコピーを作成しました (

Python 2.7.6 32 ビット シェルを実行すると、「インポート マジック」が正常に機能します。

ただし、

私に与える

このエラーの原因と修正方法はありますか? ご協力ありがとうございました!

0 投票する
1 に答える
170 参照

python - Pythonでファイルハンドラーの背後にあるファイルタイプを見つける

ファイルハンドラーの背後にあるファイルタイプを見つけるという問題に直面しています。

apache_log_parser が 1 行の解析に失敗し、プログラム全体が異常終了したため、これが必要です。

その理由は、ファイル ハンドラーが gz ファイルを指していたためです。これは二重圧縮ファイル *.gz.gz であったため、gzip ライブラリを使用してファイルを解凍したかどうかに関係なく、解凍されたファイルは別の gzip ファイルでした。

そのため、python-magic ライブラリを使用してファイルの種類を調べようとしましたが、ファイル名が必要なようです。

私はすでに try: / expect: ステートメントを実装していますが、これは多くの無駄な行を処理するという問題を実際には解決していません。

あなたは何をすることを提案しますか? ありがとう

0 投票する
1 に答える
877 参照

python - デコレータ内で Python 関数を文字列として解析する

以下を参照する関数デバッグ デコレータを作成しようとしています。

そしてそれを次のようにラップします:

「\w+(?=\s*[=])」を取得するために、関数をテキストとして操作する必要がありますが、それにアクセスする方法がわかりません。動作するブログから変更したデコレータがありますが、次のように変更してみました:

つまり、価値のあるものは何も得ていません。

実際の "func" テキストを操作して正規表現を実行し、デコレータ クラス オブジェクト内で必要なものを見つけるにはどうすればよいですか? ありがとうございました

0 投票する
1 に答える
1433 参照

django - Pythonマジックを使用してアップロードする前にファイルを検証する

アップロードする前にPythonマジックを使用してファイルを検証しているため、以下のリンクをたどっています。

validators.py ファイル:

ここに私のform.pyファイルがあります:

SO この python マジック ロジックを使用して pdf ファイルをアップロードできますが、画像 tiff ファイルのアップロードを許可し、ファイル サイズを 25 MB に制限したいと考えています。

Pythonマジックを使用してこれを実装するにはどうすればよいですか?

0 投票する
1 に答える
1390 参照

python - python-magic で .jar ファイルの情報を取得する方法

jar、html、css、exe タイプのファイルでいっぱいのフォルダーがあります。ファイルを確認するにはどうすればよいですか?

*NIX で "file" コマンドを既に実行し、python-magic を使用しています。しかし、結果はすべてこのようなものです。

test : Zip archive data, at least v1.0 to extract

test : jarマジックナンバーだけを使って、具体的に情報を得るにはどうすればいいですか?

どうすればこのようになりますか?

0 投票する
2 に答える
169 参照

python - 圧縮された .gz ファイルとアーカイブされた tar.gz ファイルを正しく区別していますか?

gzip または bzip2 形式のプレーンな圧縮ファイル (.gz など) と gzip または bzip2 で圧縮された tarball (.tar.gz など) を区別する適切な方法は何ですか? サフィックス拡張子を使用した識別は信頼できるオプションではありませんファイルの名前が変更される可能性があるためです。

コマンドラインで、次のようなことができるようになりました。

そこで、次の関数を使用して Python で同様のことを試みました。

次に、圧縮された tarball を読み取ろうとするときに、次の方法で別の場所からバッファを渡します。

残念ながら、これは python-magic でuncompressフラグを使用すると問題になります。なぜなら、python-magic は、バッファを読み取るだけでよいのに、ファイル全体を渡すことを期待しているように見えるからです。私は例外で終わります:

私が見ているファイルのサイズが 2M から 20GB になる可能性があるため、これはかなり問題になります。ファイル全体を読みたくありません。

ハッキングして圧縮ファイルの末尾を切り取ってバッファに追加することはできますか? python-magic を使用してファイルを圧縮解除するという考えを無視し、代わりにバッファを渡して識別する前に実行する方がよいでしょうか:

より良い方法はありますか?

0 投票する
2 に答える
2416 参照

django - Django: python-magic を使用したモデルでのファイル フィールドの検証

ファイルフィールドを含むモデルがあります。PDFファイルに制限したい。管理者レベルとシェルレベルのモデル作成もチェックしたいので、モデルに clean メソッドを書きました。しかし、モデルクリーンメソッドでは機能しません。ただし、フォームクリーンメソッドは機能しています。

PDF をアップロードすると、MIME in form clean メソッドが正しく検証されます (printing 'application/pdf')。しかし、モデルのクリーンメソッドは検証されていません。「application/x-empty」として MIME を出力しています。私はどこで間違っていますか?

また、もう 1 つの問題は、モデルの clean メソッドが検証エラーを発生させた場合、フォームではフィールド エラーとして表示されず、フィールド以外のエラーとして表示されることです。なんでそうなの ?