問題タブ [python-2.4]
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.
python - cPickle を使用して 2.4 で array.array をピッキングする
私はpython 2.4で構築されたプロジェクトに取り組んでいます(これは組み込みのpythonプロジェクトであるため、使用するpythonのバージョンを選択できません)。アプリケーション全体で、array.array
データを保存するために使用します。
array.array
オブジェクトの酸洗いのサポートは、2.5 でpickle
(および) に追加されました。cPickle
純粋な python pickle クラス (配列を処理するために Pickler/Unpickler をサブクラス化) を使用する場合、2.4 で実行可能な回避策がありますが、これは cPickle では機能しません (パフォーマンスの問題のためにこれが必要です)。
助言がありますか?
編集 - 解決策:
これは、機能しているように見える最終的なコードです (提案に感謝します):
python - python2.4のyieldの回避策はfinally句のあるtryブロックでは許可されていません
私はpython2.4で立ち往生しているので、ジェネレーターまたはでfinally句を使用できませんyield
。これを回避する方法はありますか?
Python 2.4でこの制限を回避する方法についての言及は見つかりません。また、私が考えた回避策(主に__del__
、妥当な時間内に実行されるようにすることを含む)の大ファンではありません。あまり魅力的ではありません。
python - Python 2.4 で誤って KeyboardInterrupt と SystemExit をキャッチしないようにする
Python スクリプトでは、キーボード割り込み (Ctrl-C) がプロセスの強制終了に失敗するケースが多くあります。これはexcept
、コードのどこかに裸の句が含まれているためです。
Python 2.5 以降での標準的な解決策は、裸の句Exception
を使用するのではなく、キャッチすることです。except
これが機能するのは、Python 2.5 の時点で、 ではなくKeyboardInterrupt
からSystemExit
継承しているからです。ただし、一部のインストールではまだ Python 2.4 が実行されています。Python 2.5 より前のバージョンでは、この問題をどのように処理できますか?BaseException
Exception
(私はこの質問に自分で答えるつもりですが、ここに置いて、検索している人々が解決策を見つけられるようにします。)
python - Python 2.4 インライン if ステートメント
Dreamhost Web サーバーで既存の django プロジェクトをセットアップしていますが、これまでのところ、すべてが正しく機能しています。ただし、私は python 2.5 で開発し、dreamhost はデフォルトで python 2.4 を使用します。次の行では、if キーワードが原因で構文エラーが発生しているようです。
この形式のif
ステートメントが Python 2.5 で導入されたのは事実ですか?そうであれば、Python 2.4 と互換性を持つようにする簡単な変更はありますか?
または、Python 2.5 に変更する必要があります。私はすでにホームディレクトリの下のディレクトリにpython 2.5をインストールしており、2.5でpythonインタープリターを実行することに成功しています。すべてに Python 2.5 を使用したい場合、どこで設定できますか?
python - Pythonは時間を分単位で取得します
数分で出力を取得する方法
ありがとう、
python - Python Textwrap - 「ハード」ブレークを強制する
textwrap を使用して、フォーマット方法が非常に特殊なインポート ファイルをフォーマットしようとしています。基本的には次のとおりです(簡単にするために行の長さを短くしています):
これで、次のように動作するコードが得られました。
これはほぼ完全に機能しますが、テキスト ラッピング コードは 80 文字のマークでハード ブレークを実行せず、スマートにスペース (約 20 文字) でブレークしようとします。
文字列リスト内のすべてのスペースを一意の文字 (#) に置き換え、それらをラップしてから文字を削除することでこれを回避しましたが、確かにクリーンな方法があるはずですか?
NB Python 2.4で動作する必要がある回答はすべて可能です-申し訳ありません!
python - Python 2.4 で基数 10 の浮動小数点数を 16 進数に変換するにはどうすればよいですか?
数値を10進数から16進数に変換しようとしています。float
Python 2.4.3 で値を 16 進数または charに変換するにはどうすればよいですか?
次に、("\xa5\x (新しい 16 進数)") として印刷できるようにしたいと思います。それ、どうやったら出来るの?
python - C++ アプリからの Python C API - ロックするタイミングを知る
一度にいくつかの I/O 操作 (ファイル、stdout) を実行するクラスの Python メソッドを呼び出す C++ クラスを作成しようとしています。私が遭遇した問題は、私のクラスが異なるスレッドから呼び出されることです。メインスレッドの場合もあれば、別のスレッドの場合もあります。明らかに、マルチスレッドのネイティブ アプリケーションで Python 呼び出しにこのアプローチを適用しようとしました。基本的にすべては PyEval_AcquireLock と PyEval_ReleaseLock または単にグローバル ロックから始まります。ドキュメントhereによると、スレッドがすでにロックされている場合、デッドロックが発生します。クラスがメイン スレッドまたは Python の実行をブロックする他のスレッドから呼び出されると、デッドロックが発生します。
Python> Cfunc1() - 「私のクラス」での呼び出しにつながるスレッドを内部的に作成する C++ func。PyEval_AcquireLock でスタックしました。明らかに、Python は既にロックされています。つまり、C++ Cfunc1 呼び出しが完了するのを待っています...それらのロックを省略します。また、Python インタープリターが次のユーザー コマンドの準備ができている場合、つまりスレッドがバックグラウンドで funcs を呼び出している場合 (ネイティブ コール内ではなく) に正常に完了します。
回避策を探しています。グローバル ロックが許可されているかどうかを区別する必要があります。つまり、Python はロックされておらず、次のコマンドを受け取る準備ができています... PyGIL_Ensure を試しましたが、残念ながらハングしていました。
これに対する既知の API またはソリューションはありますか?
(パイソン 2.4)
python - Python2.4 でタイムスタンプを解析する
経由で書き込まれたログ ファイルからタイムスタンプを解析したい
datetime.datetime.now().strftime('%Y%m%d%H%M%S')
次に、このタイムスタンプから経過した秒数を計算します。
datetime.datetime.strptime
オブジェクトを取得してからdatetime
timedelta を計算するためにそれを実行できることはわかっています。問題は、strptime
関数が Python 2.5 で導入され、私は Python2.4.4 を使用していることです (私のコンテキストではアップグレードは不可能です)。
これを行う簡単な方法はありますか?
python - どの HTML パーサーを選択する必要がありますか? BeautifulSoup が機能しないのはなぜですか?
windows-1251文字セット (ロシア語)を使用して HTML ページを解析する必要があります。
問題は、それが Web アプリケーションであり、サーバーにモジュールをインストールする機会がなくても Python 2.4 を使用する必要があることです。私がやろうとした唯一のことは、管理者にlxmlモジュールをインストールするように依頼することでしたが、それでも 2.4 で正しい方法でビルドされておらず、lxml.htmlをインポートしようとして失敗しました。
今、私はBeautifulSoupとhtml5libモジュールのどちらかを選択しようとしていますが、html5lib を使用する簡単な例は見つかりませんでした (内部の他のすべてのタグを削除して、特定のdiv要素からテキストを抽出するだけで済みます)。次に、BeautifulSoup は「開始タグのジャンク文字: u'\u041f\u0440\u043e\u0434\u0430\u0436\u0430>」というエラーを返し、ソースページをCP1251からUnicodeまたは他の文字セットにデコードしようとしても失敗しました」できません。
私は何を間違っていますか?または、どのパーサーを使用する必要がありますか?