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

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

4
歩留まりを使用した再帰
再帰とyieldステートメントを組み合わせる方法はありますか?たとえば、(再帰を使用する)無限数ジェネレータは次のようになります。 def infinity(start): yield start # recursion here ... >>> it = infinity(1) >>> next(it) 1 >>> next(it) 2 私は試した: def infinity(start): yield start infinity(start + 1) そして def infinity(start): yield start yield infinity(start + 1) しかし、それらのどれも私が望むことをしませんでした、最初のものはそれが降伏した後に停止startし、2番目のものは降伏しstart、次にジェネレーターそしてそれから停止しました。 注: whileループを使用してこれを実行できることを知っています。 def infinity(start): while True: yield start start += 1 これを再帰的に実行できるかどうかを知りたいだけです。

3
Pythonのargparseで同じオプションを複数回使用する
複数の入力ソースを受け入れ、それぞれに何かを実行するスクリプトを作成しようとしています。このようなもの ./my_script.py \ -i input1_url input1_name input1_other_var \ -i input2_url input2_name input2_other_var \ -i input3_url input3_name # notice inputX_other_var is optional しかし、を使用してこれを行う方法を完全に理解することはできませんargparse。各オプションフラグは1回しか使用できないように設定されているようです。複数の引数を単一のオプション(nargs='*'またはnargs='+')に関連付ける方法は知っていますが、それでも-iフラグを複数回使用することはできません。これを達成するにはどうすればよいですか? 明確にするために、私が最後に欲しいのは文字列のリストのリストです。そう [["input1_url", "input1_name", "input1_other"], ["input2_url", "input2_name", "input2_other"], ["input3_url", "input3_name"]]

7
Python Django Rest Framework UnorderedObjectListWarning
Django 1.10.4から1.11.1にアップグレードしましたが、テストを実行すると突然、次のようなメッセージが大量に表示されます。 lib/python3.5/site-packages/rest_framework/pagination.py:208: UnorderedObjectListWarning: Pagination may yield inconsistent results with an unordered object_list: <QuerySet [<Group: Requester>]> paginator = self.django_paginator_class(queryset, page_size) 私はそれをDjangoページネーションモジュールまでさかのぼりました:https: //github.com/django/django/blob/master/django/core/paginator.py#L100 それは私のクエリセットコードに関連しているようです: return get_user_model().objects.filter(id=self.request.user.id) この警告の詳細を確認するにはどうすればよいですか?order_by(id)すべてのフィルターの最後にを追加する必要があるようですが、order_byを追加する必要があるコードが見つからないようです(警告はスタックトレースを返さないため、テスト中にランダムに発生するため)実行)。 ありがとう! 編集: したがって、@ KlausDを使用します。冗長性のヒント、このエラーの原因となるテストを調べました。 response = self.client.get('/api/orders/') これはに行きますOrderViewSetが、get_querysetのいずれもそれを引き起こさず、シリアライザークラスの何もそれを引き起こしません。同じコードを使用して/ api / ordersを取得する他のテストがありますが、それらはそれを引き起こしません.... get_querysetの後にDRFは何をしますか? https://github.com/encode/django-rest-framework/blob/master/rest_framework/pagination.py#L166 ページネーションにトレースバックを入れると、django restフレームワークに関連するものがたくさんありますが、どのクエリが注文警告をトリガーしているかを示すものは何もありません。

1
Plt.showは完全グラフを表示しますが、savefigは画像をトリミングしています
私のコードは画像をファイルに正常に保存していますが、重要な詳細を右側からトリミングしています。答えは、それがために発生した場合、この問題を修正するために存在するplt.showが、それはsavefig間違って、この例のグラフを生成しているコマンド。これはどのように修正できますか? 私のコードの関連サンプル: import glob import os for file in glob.glob("*.oax"): try: spc_file = open(file, 'r').read() newName = file[6:8] + '-' + file[4:6] + '-' + file[0:4] + ' ' + file[8:12] + ' UTC (Observed) - No Sea Breeze Day' plt.title(newName, fontsize=12, loc='left') plt.savefig('X:/' + newName + '.png') plt.show() except …

4
matplotlibで密度で色分けされた散布図を作成するにはどうすればよいですか?
各ポイントが近くのポイントの空間密度によって色付けされている散布図を作成したいと思います。 私は非常によく似た質問に出くわしました。これは、Rを使用したこの例を示しています。 R散布図:シンボルの色は重なり合う点の数を表します matplotlibを使用してPythonで同様のことを達成するための最良の方法は何ですか?

3
PermissionError:Pythonの[Errno 13]
いくつかのPythonを学び始めたばかりで、以下のような問題が発生しています。 a_file = open('E:\Python Win7-64-AMD 3.3\Test', encoding='utf-8') Traceback (most recent call last): File "<pyshell#9>", line 1, in <module> a_file = open('E:\Python Win7-64-AMD 3.3\Test', encoding='utf-8') PermissionError: [Errno 13] Permission denied: 'E:\\Python Win7-64-AMD 3.3\\Test\ ファイルパーミッションエラーのようです。誰かが光を当てることができれば、それは大いにありがたいです。 注:PythonファイルとWindowsファイルがどのように機能するかはわかりませんが、管理者としてWindowsにログインしており、フォルダーには管理者権限があります。 .exe管理者として実行するようにプロパティを変更しようとしました。

6
それぞれがサブコマンドのセットを持つClickコマンドを複数のファイルに分割するにはどうすればよいですか?
私が開発した1つの大きなクリックアプリケーションがありますが、さまざまなコマンド/サブコマンドをナビゲートするのが難しくなっています。コマンドを個別のファイルに整理するにはどうすればよいですか?コマンドとそのサブコマンドを別々のクラスに編成することは可能ですか? これが私がそれをどのように分離したいかの例です: 初期化 import click @click.group() @click.version_option() def cli(): pass #Entry Point command_cloudflare.py @cli.group() @click.pass_context def cloudflare(ctx): pass @cloudflare.group('zone') def cloudflare_zone(): pass @cloudflare_zone.command('add') @click.option('--jumpstart', '-j', default=True) @click.option('--organization', '-o', default='') @click.argument('url') @click.pass_obj @__cf_error_handler def cloudflare_zone_add(ctx, url, jumpstart, organization): pass @cloudflare.group('record') def cloudflare_record(): pass @cloudflare_record.command('add') @click.option('--ttl', '-t') @click.argument('domain') @click.argument('name') @click.argument('type') @click.argument('content') @click.pass_obj …

6
可変関数の引数のデフォルト値の適切な使用法は?
関数の引数のデフォルト値として可変オブジェクトを設定することは、Pythonでよくある間違いです。これは、DavidGoodgerによるこの優れた記事から抜粋した例です。 >>> def bad_append(new_item, a_list=[]): a_list.append(new_item) return a_list >>> print bad_append('one') ['one'] >>> print bad_append('two') ['one', 'two'] これが発生する理由の説明はここにあります。 そして今私の質問のために:この構文の良いユースケースはありますか? つまり、それに遭遇したすべての人が同じ間違いを犯し、それをデバッグし、問題を理解し、そこからそれを回避しようとすると、そのような構文にはどのような用途がありますか?

14
S3バケットからすべてのファイルをダウンロードするBoto3
boto3を使用してs3バケットからファイルを取得しています。私はのような同様の機能が必要ですaws s3 sync 私の現在のコードは #!/usr/bin/python import boto3 s3=boto3.client('s3') list=s3.list_objects(Bucket='my_bucket_name')['Contents'] for key in list: s3.download_file('my_bucket_name', key['Key'], key['Key']) バケットにファイルしかない限り、これは正常に機能しています。バケット内にフォルダが存在する場合、エラーがスローされます Traceback (most recent call last): File "./test", line 6, in <module> s3.download_file('my_bucket_name', key['Key'], key['Key']) File "/usr/local/lib/python2.7/dist-packages/boto3/s3/inject.py", line 58, in download_file extra_args=ExtraArgs, callback=Callback) File "/usr/local/lib/python2.7/dist-packages/boto3/s3/transfer.py", line 651, in download_file extra_args, callback) File "/usr/local/lib/python2.7/dist-packages/boto3/s3/transfer.py", line …

14
Pythonを使用してファイルから一度に2行を読み取るにはどうすればよいですか?
テキストファイルを解析するPythonスクリプトをコーディングしています。このテキストファイルの形式は、ファイル内の各要素が2行を使用するようになっています。便宜上、解析する前に両方の行を読みたいと思います。これはPythonで実行できますか? 私は次のようなことをしたいと思います: f = open(filename, "r") for line in f: line1 = line line2 = f.readline() f.close しかし、これは次のように言って壊れます: ValueError:反復メソッドと読み取りメソッドを混在させるとデータが失われます 関連: リストをチャンクで反復する最も「pythonic」な方法は何ですか?
82 python 

6
PythonのBorgパターンがSingletonパターンよりも優れているのはなぜですか
ボーグパターンがシングルトンパターンよりも優れているのはなぜですか? 私はそれらが何か違う結果をもたらすのを見ないので尋ねます。 ボーグ: class Borg: __shared_state = {} # init internal state variables here __register = {} def __init__(self): self.__dict__ = self.__shared_state if not self.__register: self._init_default_register() シングルトン: class Singleton: def __init__(self): # init internal state variables here self.__register = {} self._init_default_register() # singleton mechanics external to class, for example this …
82 python  singleton 

7
「pythonsetup.pytest」からunittestdiscoverを実行する方法は?
にpython setup.py test相当するものを実行する方法を理解しようとしていますpython -m unittest discover。run_tests.pyスクリプトを使用したくないし、外部テストツール(noseまたはなどpy.test)も使用したくない。ソリューションがPython2.7でのみ機能する場合は問題ありません。 で、configのフィールドやフィールドにsetup.py何かを追加する必要があると思いますが、正しく機能する組み合わせが見つからないようです。test_suitetest_loader config = { 'name': name, 'version': version, 'url': url, 'test_suite': '???', 'test_loader': '???', } これは、unittestPython 2.7に組み込まれているものだけを使用して可能ですか? 参考までに、私のプロジェクト構造は次のようになります。 project/ package/ __init__.py module.py tests/ __init__.py test_module.py run_tests.py <- I want to delete this setup.py 更新:これはで可能ですがunittest2、私はだけを使用して同等のものを見つけたいですunittest https://pypi.python.org/pypi/unittest2から unittest2には、非常に基本的なsetuptools互換のテストコレクターが含まれています。setup.pyでtest_suite = 'unittest2.collector'を指定します。これにより、setup.pyを含むディレクトリのデフォルトパラメータを使用してテスト検出が開始されるため、例として最も役立つ可能性があります(unittest2 / collector.pyを参照)。 今のところ、私はと呼ばれるスクリプトを使用していますrun_tests.pyが、を使用するソリューションに移行することでこれを取り除くことができると期待していますpython setup.py test。 ここだrun_tests.py、私は削除するために願っています: …




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