タグ付けされた質問 「python」

Pythonは、マルチパラダイム、動的型付け、多目的プログラミング言語です。これは、学習、理解、使用が迅速で、クリーンで統一された構文を適用できるように設計されています。Python 2は2020年1月1日をもって正式にサポートされなくなりました。それでも、バージョン固有のPythonの質問については、[python-2.7]または[python-3.x]タグを追加します。Pythonのバリアントまたはライブラリ(Jython、PyPy、Pandas、Numpyなど)を使用する場合は、タグに含めてください。

12
Python標準ライブラリのみを使用してPython UTC日時をローカル日時に変換しますか?
datetime.utcnow()を使用して作成され、データベースに永続化されたpython datetimeインスタンスがあります。 表示のために、データベースから取得したdatetimeインスタンスを、デフォルトのローカルタイムゾーンを使用してローカルのdatetimeに変換したいと思います(つまり、datetimeがdatetime.now()を使用して作成されたかのように)。 Python標準ライブラリのみを使用して(たとえば、pytzに依存しない)、UTCの日時をローカルの日時に変換するにはどうすればよいですか? 1つの解決策はdatetime.astimezone(tz)を使用することですが、デフォルトのローカルタイムゾーンをどのように取得しますか?

3
プログラムを中断せずにPythonで警告を発生させる
プログラムをクラッシュ/停止/中断させずに、Pythonで警告を発生させようとしています。 次の簡単な関数を使用して、ユーザーがゼロ以外の数値を渡したかどうかを確認します。その場合、プログラムは警告を発しますが、通常どおり続行します。これは、下記のコードのように動作するはずですが、このクラスを使用する必要がありWarning()、Error()またはException()代わりに、手動で警告をプリントアウトします。 def is_zero(i): if i != 0: print "OK" else: print "WARNING: the input is 0!" return i 以下のコードを使用して関数に0を渡すと、プログラムがクラッシュし、値が返されません。代わりに、プログラムを正常に続行させ、関数に0を渡したことをユーザーに通知するだけです。 def is_zero(i): if i != 0: print "OK" else: raise Warning("the input is 0!") return i unittestでテストして警告がスローされたことをテストできるようにしたい。メッセージを出力するだけでは、単体テストでassertRaisesを使用してテストすることはできません。

13
Pythonで大きなファイルのMD5ハッシュを取得する
私はhashlib(Python 2.6 / 3.0のmd5を置き換えます)を使用しましたが、ファイルを開いてそのコンテンツをhashlib.md5()関数に配置すると問題なく動作しました。 問題は、ファイルのサイズがRAMサイズを超える可能性がある非常に大きなファイルです。 ファイル全体をメモリに読み込まずにファイルのMD5ハッシュを取得する方法
188 python  md5  hashlib 

15
Pythonで関数を前方宣言することは可能ですか?
Pythonで関数を前方宣言することは可能ですか?cmp宣言する前に、独自の関数を使用してリストを並べ替えたいのですが。 print "\n".join([str(bla) for bla in sorted(mylist, cmp = cmp_configs)]) cmp_configsメソッドの定義を呼び出しの後に置くようにコードを編成しました。このエラーで失敗します: NameError: name 'cmp_configs' is not defined cmp_configs使用前にメソッドを「宣言」する方法はありますか?それは私のコードをよりきれいに見えるでしょうか? 一部の人々は、私がこの問題を起こさないようにコードを再編成する必要があると私に言わせたくなると思います。ただし、これがおそらく避けられない場合もあります。たとえば、ある種の再帰を実装する場合などです。この例が気に入らない場合は、関数をフォワード宣言することが本当に必要なケースがあると想定してください。 Pythonで関数を前方宣言する必要がある場合を考えてみましょう。 def spam(): if end_condition(): return end_result() else: return eggs() def eggs(): if end_condition(): return end_result() else: return spam() どこでend_conditionそしてend_result以前に定義されました。 コードを再編成して常に呼び出しの前に定義を置く唯一の解決策はありますか?

8
(PythonのMockフレームワークを使用して)withステートメントで使用されているopenをモックするにはどうすればよいですか?
モックを使用して次のコードをテストするにはどうすればよいですか(モック、パッチデコレーター、およびMichael Foordのモックフレームワークによって提供されるセンチネルを使用)。 def testme(filepath): with open(filepath, 'r') as f: return f.read()

21
「for」ループの最後の要素を検出するpythonicの方法は何ですか?
forループの最後の要素に対して特別な処理を行うための最良の方法(よりコンパクトで "pythonic"な方法)を知りたいのですが。要素間でのみ呼び出す必要があるコードがあり、最後のコードでは抑制されています。 ここに私が現在それをしている方法があります: for i, data in enumerate(data_list): code_that_is_done_for_every_element if i != len(data_list) - 1: code_that_is_done_between_elements もっと良い方法はありますか? 注:を使用するなどのハックでそれを作りたくありませんreduce。;)

11
Pythonで2つのジェネレーターを結合する方法は?
次のコードを変更したい for directory, dirs, files in os.walk(directory_1): do_something() for directory, dirs, files in os.walk(directory_2): do_something() このコードに: for directory, dirs, files in os.walk(directory_1) + os.walk(directory_2): do_something() エラーが発生します: +でサポートされていないオペランドタイプ: 'generator'および 'generator' Pythonで2つのジェネレーターを結合する方法は?
188 python  generator 

6
TypeError:シーケンス項目0:予期される文字列、intが見つかりました
辞書からデータベースにデータを挿入しようとしています。データタイプに応じて、値を繰り返し処理し、それに応じてフォーマットします。ここに私が使用しているコードのスニペットがあります: def _db_inserts(dbinfo): try: rows = dbinfo['datarows'] for row in rows: field_names = ",".join(["'{0}'".format(x) for x in row.keys()]) value_list = row.values() for pos, value in enumerate(value_list): if isinstance(value, str): value_list[pos] = "'{0}'".format(value) elif isinstance(value, datetime): value_list[pos] = "'{0}'".format(value.strftime('%Y-%m-%d')) values = ",".join(value_list) sql = "INSERT INTO table_foobar ({0}) VALUES ({1})".format(field_names, values) …
188 python 

6
パンダでデータフレームのコピーを作成する理由
親データフレームからサブデータフレームを選択すると、一部のプログラマーがこの.copy()メソッドを使用してデータフレームのコピーを作成することに気付きました。例えば、 X = my_dataframe[features_list].copy() ...の代わりに X = my_dataframe[features_list] データフレームのコピーを作成するのはなぜですか?コピーを作成しないとどうなりますか?

15
UnicodeDecodeError: 'utf8'コーデックは位置0のバイト0xa5をデコードできません:無効な開始バイト
Python-2.6 CGIスクリプトを使用していますが、実行中にサーバーログにこのエラーが見つかりましたjson.dumps()、 Traceback (most recent call last): File "/etc/mongodb/server/cgi-bin/getstats.py", line 135, in <module> print json.dumps(​​__get​data()) File "/usr/lib/python2.7/json/__init__.py", line 231, in dumps return _default_encoder.encode(obj) File "/usr/lib/python2.7/json/encoder.py", line 201, in encode chunks = self.iterencode(o, _one_shot=True) File "/usr/lib/python2.7/json/encoder.py", line 264, in iterencode return _iterencode(o, 0) UnicodeDecodeError: 'utf8' codec can't decode byte 0xa5 in …
188 python  json 

12
散布データセットを使用してMatPlotLibでヒートマップを生成する
散布図としてプロットするのは簡単ですが、ヒートマップとして表現したい一連のX、Yデータポイント(約10k)があります。 私はMatPlotLibの例を調べましたが、それらはすべて、画像を生成するためのヒートマップセル値からすでに始まっているようです。 一連のx、yをすべて異なるヒートマップに変換する方法はありますか?

8
コードリポジトリを操作するときにリソースの相対パスを参照する方法
WindowsとLinuxの両方にデプロイされているコードリポジトリを使用しています。プロジェクト内のモジュールの1つがプロジェクト内の非Pythonリソース(CSVファイルなど)の1つをどのように参照する必要がありますか? 次のようなことをした場合: thefile=open('test.csv') または: thefile=open('../somedirectory/test.csv') スクリプトが特定の1つのディレクトリまたはディレクトリのサブセットから実行された場合にのみ機能します。 私がしたいのは次のようなものです: path=getBasePathOfProject()+'/somedirectory/test.csv' thefile=open(path) 出来ますか?

6
ある値より大きいPython NumPy配列のすべての要素を置き換えます
2D NumPy配列があり、その中のすべての値をしきい値T以上の255.0に置き換えたいです。私の知る限り、最も基本的な方法は次のとおりです。 shape = arr.shape result = np.zeros(shape) for x in range(0, shape[0]): for y in range(0, shape[1]): if arr[x, y] >= T: result[x, y] = 255 これを行うための最も簡潔でpythonicな方法は何ですか? これを行うためのより高速な(おそらく簡潔さおよび/またはpythonicが少ない)方法はありますか? これは、人間の頭のMRIスキャンのウィンドウ/レベル調整サブルーチンの一部になります。2D numpy配列は画像のピクセルデータです。

9
Pythonセットとリスト
Pythonでは、どのデータ構造がより効率的/高速ですか?順序が私にとって重要ではなく、とにかく重複をチェックすると仮定すると、PythonセットはPythonリストよりも遅くなりますか?

29
djangoインポートエラー-core.managementという名前のモジュールはありません
わかりました、これらのエラーはたくさんあります。私は知っていることをすべて試しましたが、まだこれを理解していません。 私はpython 2.5とDjango 1.3を実行している開発サーバーで作業しています。Django 1.3は、tar.gzダウンロードを解凍した後、python setup.py installを使用してインストールされました。 すべてうまく機能します。実行する必要はほとんどありませんがmanage.py、新しいstaticfilesアプリを使用しようとしていて、問題が発生しています。 python manage.py collectstatic Traceback (most recent call last): File "manage.py", line 2, in <module> from django.core.management import execute_manager ImportError: No module named core.management わかりました、それでPATH問題があります。 Djangoインストールから、site-packagesディレクトリを再確認します。 python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()" /usr/lib/python2.5/site-packages OK、私が持っているものをチェックしてみましょう。$ PYTHON_PATHが空だったので、それを設定します。 export PYTHON_PATH=/usr/lib/python2.5/site-packages/django まだ運がない。sys.pathの発言を確認してみましょう >>> import sys …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.