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

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

1
PylintからのCell-var-from-loop警告
次のコードの場合: for sort_key, order in query_data['sort']: results.sort(key=lambda k: get_from_dot_path(k, sort_key), reverse=(order == -1)) Pylintはエラーを報告しました: ループで定義されたセル変数sort_key(cell-var-from-loop) 誰かがここで何が起こっているのかヒントを与えることができますか?pylintソースコードからの説明は次のとおりです。 クロージャで使用される変数は、ループで定義されます。これにより、すべてのクロージャがクローズドオーバー変数に同じ値を使用することになります。 しかし、私にはそれが何を意味するのか見当がつかない。誰かが問題の例を挙げてもらえますか?

5
Pythonユニットテストでメソッドが呼び出されたことを表明します
Pythonユニットテストに次のコードがあるとします。 aw = aps.Request("nv1") aw2 = aps.Request("nv2", aw) aw.Clear()テストの2行目で特定のメソッド(私の場合)が呼び出されたことを表明する簡単な方法はありますか?たとえば、次のようなものはありますか? #pseudocode: assertMethodIsCalled(aw.Clear, lambda: aps.Request("nv2", aw))

2
pytestテスト内のロギング
いくつかの状態変数を調べるために、テスト関数内にいくつかのロギングステートメントを配置したいと思います。 次のコードスニペットがあります。 import pytest,os import logging logging.basicConfig(level=logging.DEBUG) mylogger = logging.getLogger() ############################################################################# def setup_module(module): ''' Setup for the entire module ''' mylogger.info('Inside Setup') # Do the actual setup stuff here pass def setup_function(func): ''' Setup for test functions ''' if func == test_one: mylogger.info(' Hurray !!') def test_one(): ''' Test One …
94 python  logging  pytest 



3
パンダの棒グラフの値で棒に注釈を付ける
Pandas棒グラフの棒にDataFrameの丸められた数値で注釈を付ける方法を探していました。 >>> df=pd.DataFrame({'A':np.random.rand(2),'B':np.random.rand(2)},index=['value1','value2'] ) >>> df A B value1 0.440922 0.911800 value2 0.588242 0.797366 私はこのようなものを手に入れたいです: このコードサンプルを試してみましたが、注釈はすべてxティックを中心にしています。 >>> ax = df.plot(kind='bar') >>> for idx, label in enumerate(list(df.index)): for acc in df.columns: value = np.round(df.ix[idx][acc],decimals=2) ax.annotate(value, (idx, value), xytext=(0, 15), textcoords='offset points')

7
Pythonで1行のcsvデータを読み取る方法は?
次のように、Pythonを使用してcsvデータを読み取る例はたくさんあります。 import csv with open('some.csv', newline='') as f: reader = csv.reader(f) for row in reader: print(row) 1行のデータを読み取り、それをさまざまな変数に入力したいだけです。それ、どうやったら出来るの?私はどこでも実用的な例を探しました。 私のコードはiの値のみを取得し、他の値は取得しません reader = csv.reader(csvfile, delimiter=',', quotechar='"') for row in reader: i = int(row[0]) a1 = int(row[1]) b1 = int(row[2]) c1 = int(row[2]) x1 = int(row[2]) y1 = int(row[2]) z1 = int(row[2])
94 python  file  csv  iterator  next 

3
anaconda / conda-特定のパッケージバージョンをインストールします
condaを使用して、現在アクティブな環境に「rope」パッケージをインストールしたいと思います。現在、次の「ロープ」バージョンが利用可能です。 (data_downloader)user@user-ThinkPad ~/code/data_downloader $ conda search rope Using Anaconda Cloud api site https://api.anaconda.org Fetching package metadata: .... cached-property 1.2.0 py27_0 defaults 1.2.0 py34_0 defaults 1.2.0 py35_0 defaults 1.3.0 py27_0 defaults 1.3.0 py34_0 defaults 1.3.0 py35_0 defaults rope 0.9.4 py26_0 defaults 0.9.4 py27_0 defaults 0.9.4 py33_0 defaults 0.9.4 py34_0 defaults 0.9.4 …
94 python  anaconda 


1
3桁の数字のヒートマップに科学的記数法を示すSeaborn
以下のように、パンダのピボットテーブルからヒートマップを作成しています。 table2 = pd.pivot_table(df,values='control',columns='Year',index='Region',aggfunc=np.sum) sns.heatmap(table2,annot=True,cmap='Blues') 以下に示すようなヒートマップを作成します。数字はそれほど大きくない(最大750)ことがわかりますが、科学的記数法で示しています。テーブル自体を見ると、そうではありません。数字をわかりやすい表記で表示する方法について何か考えはありますか?

14
boto3からS3バケット内のサブフォルダー名を取得する
boto3を使用して、AWSS3バケットにアクセスできます。 s3 = boto3.resource('s3') bucket = s3.Bucket('my-bucket-name') 現在、バケットにはフォルダが含まれています。フォルダfirst-level自体には、たとえばタイムスタンプで名前が付けられたいくつかのサブフォルダが含まれています1456753904534。私が行っている別の仕事のためにこれらのサブフォルダーの名前を知る必要があり、boto3にそれらを取得させることができるかどうか疑問に思います。 だから私は試しました: objs = bucket.meta.client.list_objects(Bucket='my-bucket-name') これは辞書を提供し、そのキー 'Contents'は、第2レベルのタイムスタンプディレクトリではなく、すべての第3レベルのファイルを提供します。実際、次のようなものを含むリストを取得します。 {u'ETag ':' "etag" '、u'Key':first-level / 1456753904534 / part-00014 '、u' LastModified ':datetime.datetime(2016、2、29、13、52、24、tzinfo = tzutc())、 u'Owner ':{u'DisplayName': 'owner'、u'ID ':' id '}、 u'Size':size、u'StorageClass ':' storageclass '} part-00014ディレクトリの名前だけを取得したいのですが、この場合は特定のファイルが取得されていることがわかります。原則として、すべてのパスからディレクトリ名を取り除くことはできますが、3番目のレベルですべてを取得して2番目のレベルを取得するのは、醜くて費用がかかります。 私もここで報告された何かを試しました: for o in bucket.objects.filter(Delimiter='/'): print(o.key) しかし、私は希望するレベルのフォルダを取得していません。 これを解決する方法はありますか?

6
IPythonのマジック%pasteはどのように機能しますか?
すでにインデントされたPythonコード/関数とクラス全体をIPythonにコピーしたい。インデントを試すたびに失敗し、次のエラーメッセージが表示されます。 IndentationError: unindent does not match any outer indentation level (<ipython-input-23-354f8c8be51b>, line 12) If you want to paste code into IPython, try the %paste and %cpaste magic functions.
93 python  ipython 


6
Djangoの非アクティブのためにセッションを期限切れにする方法は?
Djangoアプリケーションには、次のセッション管理要件があります。 ユーザーがブラウザを閉じると、セッションは期限切れになります。 非アクティブな期間が経過すると、セッションは期限切れになります。 非アクティブが原因でセッションが期限切れになるタイミングを検出し、適切なメッセージをユーザーに表示します。 非アクティブ期間が終了する数分前にセッションの期限が切れることをユーザーに警告します。警告とともに、セッションを延長するオプションをユーザーに提供します。 ユーザーがアプリ内でサーバーに送信されるリクエストを含まない長いビジネスアクティビティで作業している場合、セッションがタイムアウトしてはなりません。 ドキュメント、Djangoコード、およびこれに関連するいくつかのブログ投稿を読んだ後、次の実装アプローチを思いつきました。 要件1 この要件は、SESSION_EXPIRE_AT_BROWSER_CLOSEをTrueに設定することで簡単に実装できます。 要件2 セッションの有効期限を設定するためにSESSION_COOKIE_AGEを使用するいくつかの推奨事項を見ました。しかし、この方法には次のような問題があります。 ユーザーがアプリケーションをアクティブに使用している場合でも、セッションは常にSESSION_COOKIE_AGEの終了時に期限切れになります。(これは、カスタムミドルウェアを使用してすべてのリクエストでセッションの有効期限をSESSION_COOKIE_AGEに設定するか、SESSION_SAVE_EVERY_REQUESTをtrueに設定してすべてのリクエストでセッションを保存することで防ぐことができます。ただし、SESSION_COOKIE_AGEを使用するため、次の問題は避けられません。) Cookieの動作方法により、SESSION_EXPIRE_AT_BROWSER_CLOSEとSESSION_COOKIE_AGEは相互に排他的です。つまり、Cookieはブラウザを閉じるか、指定された有効期限で期限切れになります。SESSION_COOKIE_AGEが使用され、Cookieの有効期限が切れる前にユーザーがブラウザーを閉じた場合、Cookieは保持され、ブラウザーを再度開くと、ユーザー(または他のユーザー)は再認証されずにシステムにアクセスできます。 Djangoは、存在するCookieのみに依存して、セッションがアクティブかどうかを判断します。セッションに保存されているセッションの有効期限はチェックしません。 この要件を実装し、上記の問題を回避するには、次の方法を使用できます。 SESSION_COOKIE_AGEは設定しないでください。 セッションの有効期限を、すべてのリクエストで「現在時刻+非アクティブ期間」に設定します。 SessionMiddlewareでprocess_requestをオーバーライドし、セッションの有効期限を確認します。有効期限が切れている場合は、セッションを破棄してください。 要件3 (上記のカスタムSessionMiddlewareで)セッションの有効期限が切れたことを検出したら、リクエストに属性を設定してセッションの有効期限を示します。この属性は、ユーザーに適切なメッセージを表示するために使用できます。 要件4 JavaScriptを使用してユーザーの非アクティブを検出し、警告を提供し、セッションを延長するオプションも提供します。ユーザーが延長したい場合は、キープアライブパルスをサーバーに送信してセッションを延長します。 要件5 JavaScriptを使用して(長時間のビジネスオペレーション中の)ユーザーアクティビティを検出し、キープアライブパルスをサーバーに送信して、セッションが期限切れにならないようにします。 上記の実装アプローチは非常に手の込んだように見え、より簡単な方法(特に要件2の場合)があるのではないかと思っていました。 どんな洞察も高く評価されます。

7
Rubyのbundler / Perlのカートンに相当するPythonは何ですか?
virtualenvとpipについて知っています。ただし、これらはbundler / cartonとは少し異なります。 例えば: pipはシバンまたはスクリプトをアクティブにするための絶対パスを書き込みます pipにはexecサブコマンドがありません(bundle exec bar) virtualenvはPythonインタープリターをローカルディレクトリにコピーします すべてのPython開発者がvirtualenv / pipを使用していますか?Python用の他のパッケージ管理ツールはありますか?
93 python  ruby  perl  virtualenv  pip 

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