問題タブ [python-3.2]

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 投票する
3 に答える
5493 参照

python - ピクルスのデバッグ

私は非常に複雑なオブジェクト階層をピクルしようとしていますが、例外が発生しています:

オブジェクト階層の選択可能性をテストするために使用できる合理的な方法はありますか? 私の目的は、問題のある機能の場所を見つけることです

0 投票する
4 に答える
1772 参照

python - リスト構築でのタプルの解凍(python3)

割り当ての右側でタプルアンパックを使用したいと思います。

もちろん、私は次のことができます。

しかし、これは面倒だと思います。私はポイントを逃していますか?簡単な方法ですか?これを持っている予定ですか?それとも、その言語で明示的にそれを持たない理由がありますか?

問題の一部は、すべてのコンテナータイプが、反復可能を期待し、*args引数を受け入れないコンストラクターを使用することです。サブクラス化することもできますが、それは他の人が読むことになっているスクリプトに非Pythonのノイズを導入しています。

0 投票する
0 に答える
5571 参照

installation - Python 3.2.3 Windows 64 ビットの python idle をダウンロードできません

Python 用の行ごとのデバッガーが必要です。アイドルから始めるべきだと思いました。python.org にアクセスして、64 ビット Windows 用の Python 3.2.3 をダウンロードしました。ほとんどの Python ドキュメントでは、すべてのインストールで IDLE が自動的にダウンロードされると記載されています。c:\Python32 に Python をインストールしました。このフォルダーまたはそのサブフォルダーのいずれにも、idle.exe または idle という名前のフォルダーが表示されません。次に、Google を検索して、アイドル状態でダウンロードする方法を確認しようとしました。アイドル用の個別のダウンロードはないようです-または64ビットに一致するものはありません。

最速の解決策をお勧めできますか?

  1. Windows 64 ビット用に別のバージョンをインストールします (3.2.3 のインストールが台無しになりますか?)
  2. IDLE をあきらめて、別の IDE をインストールします (PyScripter を試してみましたが、1 ステップで行ごとのデバッグを行う方法がわかりませんでした。PyScripter は Visual Studio よりはるかに劣っていますが、無料です)。pythonfiddle を試しましたが、方法がわかりませんでした。ブレークポイントを設定します。pythontutor を試してみましたが、ブレークポイントの設定方法がわかりませんでした。

この質問への回答 (評判が悪いため、この回答を投稿できません。)

www.udacity.com の誰かが答えを教えてくれました! 答えは、入力してアイドル状態で起動することでしたpythonw c:\python32\lib\idlelib\idle.py

私はこれを100万年考えたことはなかったでしょう!アイドルは実行可能ファイルであると想定しました。代わりに、これは Python スクリプトです。

また、他のバージョンの python はインストールを台無しにせず、最終的に別のフォルダーに配置されるだけであることも知りました。

スタック オーバーフローから、Pydev を使用した Aptana studio と Python を使用した Visual Studio 10 について学びました。したがって、アイドル状態が機能しない場合は、これらのアイドル状態のアプリケーションを試します。

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

arguments - Python 3を使用してexeに引数としてバイトを与える

Python 3.2.3 を使用して開く必要がある exe があります。また、引数をバイト形式で exe に渡す必要があります。私は次のようなことを試みます:

これは問題なく動作しますが、'\x86' のような印刷できない文字を引数として指定しようとすると、'\x3f' に変換されます。引数を出力すると、次のエラーが発生します。

だから私はos.systemを使ってやってみました:

しかし、明らかに、これは型エラーにつながります。このことを成し遂げるための提案はありますか?

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

python - インポートステートメントでPythonビルトインをオーバーライドする方法は?

print編集されたものは何でもテキストファイルに記録したいsys.stdout。より賢い人々がよりエレガントでPythonicなソリューションを思い付くことができることを私は理解していますが、ここに私のソリューションがあります

今、私のコードのどこかに追加します

print後で編集されたものもすべてログに記録されます。

しかし、多くの明らかな理由から、これは安全/適切ではありません。たとえば、複数のloggerオブジェクトが厄介になる可能性があります。

さらに、私は触発されています

(たとえばこれを参照してください)そして私は似たようなことをしたいので、import私のモジュールのとき、組み込みprintはコードのどこかで私のバージョンのprintによって上書きされます。

そんなことがあるものか?

0 投票する
5 に答える
205 参照

python - Python 3.2 スクリプトが 3 番目の関数でハングする

私は2つの文字を一緒にピットする非常に単純なpythonスクリプトを作成しようとしていますが、スクリプトの実行中に、スクリプトが2つの文字の統計を定義するために使用する最初の2つの関数を実行しますが、3番目の関数に到達すると、ハングします。

コードは次のとおりです。

はい、このコードは完全に編集されていません。私のコメントがあまり良くないことに気づきました。

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

pyramid - ピラミッド アプリがビュー間でメモリを解放しない

興味深い方法で誤動作している Pyramid ビューがあります。ビューが行うことは、(pickle を使用して) ファイルから非常に複雑なオブジェクト階層を取得し、少し処理を行ってから、html フォームをレンダリングすることです。素敵でシンプル。

セットアップ:

Ubuntu 12.04 64 ビット、Python3.2、Pyramid 1.3.3、SQLAlchemy 0.7.8 を実行しており、標準のウェイトレス サーバーを使用しています。

症状

私はいくつかの効率の問題を抱えていたので、システム モニターを使用して何が起きているかを確認しようとしたところ、ピラミッドがその処理を行っている間など、私が説明したビューの RAM 使用量が着実に増加していることがわかりました。HTML フォームがブラウザに表示されると、RAM の使用量は横ばいになりましたが、低下しませんでした。ビューをリロードすると、RAM の使用量が中断したところから着実に増加しました。これを続けていると、すべての RAM が使い果たされ、すべてが停止します。

サーバーを強制終了すると、RAM の使用量がすぐに低下します。

質問

どうしたの?ビューのレンダリング間でメモリが解放されていないことは明らかですが、なぜこれが起こっているのでしょうか? そして、どうすればそれを止めることができますか?ビューから戻る前に del を呼び出してみましたが、何も変わりませんでした。

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

session - SQLAlchemy セッション: 存続させる方法は?

何度も渡されるセッション オブジェクトがあり、ある時点で次のコード行が呼び出されます (これは避けられません)。

これにより、セッションが使用できなくなります(閉じることにより)。

私の質問は2つの部分です:

  1. セッションがまだ有効かどうかを確認するにはどうすればよいですか?
  2. 死んだセッションを復活させる簡単な方法はありますか?

2 の場合: 私が現在知っている唯一の方法は、sqlalchemy.orm.scoped_session を使用してから、query(...)get(id) を何度も呼び出して、必要なモデル インスタンスを再作成することですが、これは非常に効率が悪いようです。

編集

エラーの原因となる一連のイベントの例を次に示します。

そして、ここにエラーがあります:

遅延読み込みをオフにしたくありません。

編集

DBSession.is_active は、この場合、セッションが実際に有効であるかどうかを示すものではないようです。

これはTrueを出力します...

編集 これはコメントするには大きすぎるように思えたので、ここに入れます。

zzzeek 氏は次のように述べています。

では、これが起こるようにコミットするにはどうすればよいでしょうか? transaction.commit の呼び出しが間違っています。正しい方法は何ですか?

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

python - 悪いXMLの場合にエラーをキャッチ

xml.dom.minidom文字列からXMLを解析するために使用しています。提供されたXMLの形式が正しくない場合のエラーケースを処理する必要があります。どのようなエラーをキャッチしますか?

言い換えれば、BadXml以下で何を置き換える必要がありますか?

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

python - python3 - テキスト三角形を描画するネストされた for ループの概念的理解

最初のコード:

ご覧のとおり、ユーザーが入力した基本サイズの三角形が描画されます。

今、コードが三角形を「描く」方法を理解できません。

説明から、コードには2つのネストされたループがあり、1つは行の「描画」を担当し、もう1つは列の「描画」を担当することがわかります。

次のことを理解しようとして、これをいくつかのステップに分けてみました。

これは役に立ちませんでした。「*」が同じ行ではなく複数の行に出力される理由がわかりません。

残りの部分は、どれだけ考えようとしても意味がありません。私が理解しているのは「+ 1」だけです。指定しないと、Python は範囲の最後の数字を使用しないため、範囲の最後の数字を使用できます。

for ループを取得できないと思います。for ループをネストすると、本当に問題が発生します。