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

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


5
キーボード入力の読み方は?
Pythonでキーボードからデータを読みたい 私はこれを試します: nb = input('Choose a number') print ('Number%s \n' % (nb)) しかし、Eclipseでもターミナルでも機能せず、常に問題を解決できません。数字を入力することはできますが、何も起こらなくなりました。 なぜなのかご存知ですか?
123 python  input  keyboard 

5
パラメータをファブリックタスクに渡す
コマンドラインから「fab」を呼び出すときに、ファブリックタスクにパラメーターを渡すにはどうすればよいですか?例えば: def task(something=''): print "You said %s" % something $ fab task "hello" You said hello Done. プロンプトなしでこれを行うことは可能fabric.operations.promptですか?
123 python  fabric 

8
OSError:[Errno 13]ディレクトリでのアクセスが拒否されました。
pip install -r requirements.txt以下の例外で失敗しますOSError: [Errno 13] Permission denied: '/usr/local/lib/...。何が問題で、どうすれば修正できますか?(私はDjangoをセットアップしようとしています) Installing collected packages: amqp, anyjson, arrow, beautifulsoup4, billiard, boto, braintree, celery, cffi, cryptography, Django, django-bower, django-braces, django-celery, django-crispy-forms, django-debug-toolbar, django-disqus, django-embed-video, django-filter, django-merchant, django-pagination, django-payments, django-storages, django-vote, django-wysiwyg-redactor, easy-thumbnails, enum34, gnureadline, idna, ipaddress, ipython, kombu, mock, names, ndg-httpsclient, Pillow, pyasn1, pycparser, …

19
round()が適切に丸められていないようです
round()関数のドキュメントには、数値と、小数点以下の位置を丸めて渡すと記載されています。したがって、これを行う必要があります: n = 5.59 round(n, 1) # 5.6 しかし、実際には、古き良き浮動小数点の奇妙さが忍び寄り、次のような結果になります。 5.5999999999999996 UIのために、を表示する必要があります5.6。私はインターネットをざっと見て、これがPythonの実装に依存しているというドキュメントを見つけました。残念ながら、これは私のWindows開発マシンと私が試した各Linuxサーバーの両方で発生します。こちらもご覧ください。 私自身のラウンドライブラリを作成する以外に、これを回避する方法はありますか?

9
テンプレートでFlaskからJavaScriptにデータを渡すにはどうすればよいですか?
私のアプリは、辞書を返すAPIを呼び出します。このdictからビューのJavaScriptに情報を渡したいのですが。具体的には、JSでGoogle Maps APIを使用しているので、long / lat情報を含むタプルのリストを渡したいのですが。render_templateこれらの変数をビューに渡してHTMLで使用できるようにすることは知っていますが、テンプレートのJavaScriptにどのように渡すことができますか? from flask import Flask from flask import render_template app = Flask(__name__) import foo_api api = foo_api.API('API KEY') @app.route('/') def get_data(): events = api.call(get_event, arg0, arg1) geocode = event['latitude'], event['longitude'] return render_template('get_data.html', geocode=geocode)

9
PythonからJavaを呼び出す
PythonからJavaを呼び出す最良の方法は何ですか?(jythonとRPCは私の選択肢ではありません)。 JCCについて聞いたことがあります:http : //pypi.python.org/pypi/JCC/1.9 C ++ / PythonからJavaを呼び出すためのC ++コードジェネレーターしかし、これには可能な呼び出しをすべてコンパイルする必要があります。私は別の解決策を望みます。 JPypeについて聞いた:http : //jpype.sourceforge.net/ tutorial:http : //www.slideshare.net/onyame/mixing-python-and-java import jpype jpype.startJVM(path to jvm.dll, "-ea") javaPackage = jpype.JPackage("JavaPackageName") javaClass = javaPackage.JavaClassName javaObject = javaClass() javaObject.JavaMethodName() jpype.shutdownJVM() これは私が必要としているもののようです。ただし、最後のリリースは2009年1月のものであり、JPypeのコンパイルに失敗する人がいます。 JPypeは死んだプロジェクトですか? 他の選択肢はありますか? よろしく、デビッド
123 java  python 

8
2つの文字列を連結するために '+'を使用しない理由は何ですか?
Pythonの一般的なアンチパターン+は、ループで使用する文字列のシーケンスを連結することです。Pythonインタプリタは反復ごとに新しい文字列オブジェクトを作成する必要があるため、これは悪い結果となり、結果として2次時間がかかります。(最近のバージョンのCPythonは明らかにこれを最適化できる場合もありますが、他の実装では最適化できないため、プログラマーはこれに依存することをお勧めしません。)これ''.joinが正しい方法です。 ただし、(ここではStack Overflowを含めて)文字列の連結には決して使用すべきではなく、+常に''.joinまたはフォーマット文字列を使用するように言われたと聞きました。2つの文字列のみを連結しているのに、なぜこれが当てはまるのか理解できません。私の理解が正しければ、二次時間は必要ありません。またa + b、''.join((a, b))またはよりも読みやすく、読みやすくなっています'%s%s' % (a, b)。 +2つの文字列を連結するのに使用するのは良い習慣ですか?または、私が気付いていない問題はありますか?

4
マルチプロセッシングの共有メモリオブジェクト
私はメモリに大きなnumpy配列があるfuncとします。この巨大な配列を(他のいくつかのパラメーターと共に)入力として受け取る関数があります。func異なるパラメータを使用して、並行して実行できます。例えば: def func(arr, param): # do stuff to arr, param # build array arr pool = Pool(processes = 6) results = [pool.apply_async(func, [arr, param]) for param in all_params] output = [res.get() for res in results] マルチプロセッシングライブラリを使用すると、その巨大な配列が複数のプロセスにコピーされます。 異なるプロセスに同じ配列を共有させる方法はありますか?この配列オブジェクトは読み取り専用であり、変更されることはありません。 arrが配列ではなく任意のpythonオブジェクトである場合、もっと複雑なことは何ですか?それを共有する方法はありますか? [編集済み] 私は答えを読みましたが、私はまだ少し混乱しています。fork()はコピーオンライトであるため、Pythonマルチプロセッシングライブラリで新しいプロセスを生成するときに追加のコストを呼び出さないでください。しかし、次のコードは大きなオーバーヘッドがあることを示唆しています: from multiprocessing import Pool, Manager import numpy as np; import …

10
os.system()呼び出しをエスケープする方法は?
os.system()を使用する場合、コマンドにパラメーターとして渡されるファイル名やその他の引数をエスケープする必要があることがよくあります。これどうやってするの?できれば、複数のオペレーティングシステム/シェルで機能するものですが、特にbashの場合に適しています。 私は現在次のことをしていますが、これにはライブラリ関数、または少なくともよりエレガントで堅牢で効率的なオプションが必要です。 def sh_escape(s): return s.replace("(","\\(").replace(")","\\)").replace(" ","\\ ") os.system("cat %s | grep something | sort > %s" % (sh_escape(in_filename), sh_escape(out_filename))) 編集:私は引用符を使用するという単純な答えを受け入れましたが、なぜそれを考えなかったのかわかりません。'と "の動作が少し異なるWindowsから来たのだと思います。 セキュリティに関しては、私は懸念を理解していますが、この場合、os.system()が提供する迅速で簡単な解決策に興味があり、文字列のソースはユーザーが生成したものではないか、少なくとも信頼できるユーザー(私)。
123 python  shell  escaping 


13
Pythonキャッシングライブラリはありますか?
Pythonキャッシングライブラリを探していますが、今のところ何も見つかりません。dictキーとその有効期限を設定して、それらをキャッシュに戻すことができるシンプルなインターフェースが必要です。次のようなもの: cache.get(myfunction, duration=300) 存在する場合はキャッシュからアイテムを取得するか、関数を呼び出して、存在しない場合や期限が切れている場合は保存します。誰かがこのようなことを知っていますか?
123 python  caching 

9
Numpy argsort-何をしていますか?
なぜnumpyはこの結果を出しているのですか? x = numpy.array([1.48,1.41,0.0,0.1]) print x.argsort() >[2 3 1 0] 私がそれを行うと期待するとき: [3 2 0 1] 明らかに、機能についての私の理解が欠けています。
123 python  numpy 


17
Python:タプルの値を変更する
私はPythonが初めてなので、この質問は少し基本的なものかもしれません。values次のタプルが呼び出されます。 ('275', '54000', '0.0', '5000.0', '0.0') 275このタプルの最初の値(つまり)を変更したいのですが、タプルは不変なので、機能しvalues[0] = 200ません。どうすればこれを達成できますか?
123 python  tuples 

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