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

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

10
最大回数まで何かを試すためのPythonの方法はありますか?[複製]
この質問にはすでにここに答えがあります: Python:すべてが失敗するまで関数を3回試してください (3つの回答) 4か月前に閉鎖されました。 共有Linuxホスト上のMySQLサーバーにクエリを実行するPythonスクリプトがあります。何らかの理由で、MySQLへのクエリはしばしば「サーバーがなくなった」エラーを返します。 _mysql_exceptions.OperationalError: (2006, 'MySQL server has gone away') 直後にクエリを再試行すると、通常は成功します。だから、私はPythonでクエリを実行しようとする賢明な方法があるかどうかを知りたいのですが、失敗した場合は、固定回数まで再試行します。たぶん、完全に諦める前に5回試してみたいと思います。 これが私が持っている種類のコードです: conn = MySQLdb.connect(host, user, password, database) cursor = conn.cursor() try: cursor.execute(query) rows = cursor.fetchall() for row in rows: # do something with the data except MySQLdb.Error, e: print "MySQL Error %d: %s" % (e.args[0], e.args[1]) 明らかに、except節で別の試みをすることでそれを行うことができましたが、それは信じられないほど醜いものであり、これを達成するための適切な方法があるに違いないと感じています。

2
動的ページ用のスクレイプ付きセレン
Scrapyを使用して、Webページから製品情報を取得しようとしています。私のスクレイピングされるWebページは次のようになります。 10個の製品を含むproduct_listページから始まります 「次へ」ボタンをクリックすると、次の10個の製品が読み込まれます(URLは2つのページ間で変更されません) LinkExtractorを使用して、各製品リンクを製品ページにたどり、必要なすべての情報を取得します next-button-ajax-callを複製しようとしましたが、機能しません。そこで、セレンを試してみます。別のスクリプトでSeleniumのWebドライバーを実行できますが、scrapyと統合する方法がわかりません。スクレープスパイダーのセレン部分はどこに置けばいいですか? 私のクモは次のようにかなり標準的です: class ProductSpider(CrawlSpider): name = "product_spider" allowed_domains = ['example.com'] start_urls = ['http://example.com/shanghai'] rules = [ Rule(SgmlLinkExtractor(restrict_xpaths='//div[@id="productList"]//dl[@class="t2"]//dt'), callback='parse_product'), ] def parse_product(self, response): self.log("parsing product %s" %response.url, level=INFO) hxs = HtmlXPathSelector(response) # actual data follows どんなアイデアでも大歓迎です。ありがとうございました!

2
Pythonツイスト:どこから始めるか[クローズ]
現在のところ、この質問は私たちのQ&A形式には適していません。回答は事実、参考資料、または専門知識によって裏付けられることを期待していますが、この質問は、討論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターにアクセスしてガイダンスを入手してください。 8年前に閉鎖されました。 私はソケットサーバーの作成のためにツイストを学び始めようとしています。いくつかの便利な機能(authなど)を追加したいと思います。多分誰かが私が始めるのを助ける良いチュートリアルを私に指摘することができます(+多分他のいくつかのアイデア)
85 python  twisted 

2
matplotlibのimshowを使用してNaN値を特別な色としてプロットするにはどうすればよいですか?
matplotlibでimshowを使用してデータをヒートマップとしてプロットしようとしていますが、値の一部はNaNです。NaNをカラーマップにない特別な色としてレンダリングしたいのですが。 例: import numpy as np import matplotlib.pyplot as plt f = plt.figure() ax = f.add_subplot(111) a = np.arange(25).reshape((5,5)).astype(float) a[3,:] = np.nan ax.imshow(a, interpolation='nearest') f.canvas.draw() 結果の画像は、予期せずすべて青(ジェットカラーマップの最低色)になります。ただし、次のようにプロットを行うと、次のようになります。 ax.imshow(a, interpolation='nearest', vmin=0, vmax=24) -それならもっと良いものが得られますが、NaN値はvminと同じ色で描画されます... NaNを特別な色(例:灰色または透明)で描画するように設定できる優雅な方法はありますか?
85 python  matplotlib  nan 

1
PerlでPythonスクリプトを実行すると、構文エラーが発生しないのはなぜですか?
テスト用のPythonコードをに書き込んtest.pyだところ、次のように起動します。 perl test.py しばらくして、私は自分の間違いに気づきました。Pythonインタープリターのように、Pythonコードが実際に正しく実行されるため、「しばらくすると」と言います。 PerlがPythonを解釈するのはなぜですか?test.pyこのように見えます: #!/usr/bin/python ...Python code here... 興味深いことに、反対の操作(つまり呼び出しpython something.pl)を行うと、構文エラーが大量に発生します。
85 python  perl 

7
スレッドはPythonでどのように機能しますか?また、Pythonスレッド特有の一般的な落とし穴は何ですか?
私はPythonでスレッドがどのように機能するかについて頭を悩ませてきましたが、スレッドがどのように機能するかについての適切な情報を見つけるのは困難です。リンクか何かが足りないかもしれませんが、公式のドキュメントはこのテーマについてあまり徹底していないようで、良い記事を見つけることができませんでした。 私の知る限り、一度に実行できるスレッドは1つだけで、アクティブなスレッドは10命令ごとに切り替わりますか? 良い説明はどこにありますか、それとも提供できますか?また、Pythonでスレッドを使用しているときに発生する一般的な問題を知っておくと非常に便利です。

7
Pythonでの効率的な日付範囲の重複計算?
2つの日付範囲があり、各範囲は開始日と終了日によって決定されます(明らかに、datetime.date()インスタンス)。2つの範囲は重複する場合と重複しない場合があります。重なりの日数が必要です。もちろん、両方の範囲内のすべての日付で2つのセットを事前に入力し、セットの共通部分を実行することはできますが、これはおそらく非効率的です...すべてのケースをカバーする長いif-elifセクションを使用する別のソリューションとは別のより良い方法はありますか?

8
tkinterのエントリーウィジェットコンテンツをインタラクティブに検証する
tkinterEntryウィジェットのコンテンツをインタラクティブに検証するための推奨テクニックは何ですか? 私は、使用についての記事を読んだvalidate=Trueとvalidatecommand=command、これらの機能があればそれらがクリアされているという事実によって制限されているように思われるvalidatecommandコマンドが更新Entryウィジェットの値を。 この動作を考えると、我々は上に結合すべきであるKeyPress、Cutと、Pasteイベントやモニター/更新たちのEntryこれらのイベントを通じて、ウィジェットの値は?(そして私が見逃したかもしれない他の関連イベント?) または、インタラクティブな検証を完全に忘れて、FocusOutイベントでのみ検証する必要がありますか?


3
時間と分で2つの列間のパンダDataFrame時間差を計算します
データフレームに2つの列とがfromdateありますtodate。 import pandas as pd data = {'todate': [pd.Timestamp('2014-01-24 13:03:12.050000'), pd.Timestamp('2014-01-27 11:57:18.240000'), pd.Timestamp('2014-01-23 10:07:47.660000')], 'fromdate': [pd.Timestamp('2014-01-26 23:41:21.870000'), pd.Timestamp('2014-01-27 15:38:22.540000'), pd.Timestamp('2014-01-23 18:50:41.420000')]} df = pd.DataFrame(data) 新しい列を追加して、diffを使用して2つの日付の違いを見つけます df['diff'] = df['fromdate'] - df['todate'] diff列を取得しましたがdays、24時間を超えると、列が含まれます。 todate fromdate diff 0 2014-01-24 13:03:12.050 2014-01-26 23:41:21.870 2 days 10:38:09.820000 1 2014-01-27 11:57:18.240 2014-01-27 15:38:22.540 0 days 03:41:04.300000 …

5
Matplotlibプロットの線を削除する方法
実際にガベージコレクションを取得してメモリを解放するような方法で、matplotlib軸の1つまたは複数の行を削除するにはどうすればよいですか?以下のコードは行を削除しているように見えますが、メモリを解放することはありません(を明示的に呼び出した場合でもgc.collect()) from matplotlib import pyplot import numpy a = numpy.arange(int(1e7)) # large so you can easily see the memory footprint on the system monitor. fig = pyplot.Figure() ax = pyplot.add_subplot(1, 1, 1) lines = ax.plot(a) # this uses up an additional 230 Mb of memory. # can I get the …

3
Pythonでcsvファイルにヘッダーを追加します
2つのcsvファイルをマージするPythonスクリプトを作成しました。次に、最終的なcsvにヘッダーを追加します。ここで報告されている提案に従ってみましたが、次のエラーが発生しましたexpected string, float found。これを修正するための最もPython的な方法は何ですか? これが私が使用しているコードです: import csv with open('combined_file.csv', 'w', newline='') as outcsv: writer = csv.DictWriter(outcsv, fieldnames = ["Date", "temperature 1", "Temperature 2"]) writer.writeheader() with open('t1.csv', 'r', newline='') as incsv: reader = csv.reader(incsv) writer.writerows(row + [0.0] for row in reader) with open('t2.csv', 'r', newline='') as incsv: reader = csv.reader(incsv) writer.writerows(row[:1] …
85 python  csv  header 

5
Pythonの両端キューはどのように実装され、リストよりも悪いのはいつですか?
私は最近、コードをより効率的にするために、Pythonでさまざまなデータ構造がどのように実装されているかを調査するようになりました。リストと両端キューがどのように機能するかを調査したところ、シフトとシフト解除を行うと、リストのO(n)から両端キューのO(1)に時間を短縮したいときにメリットが得られることがわかりました(リストは固定長配列として実装されています。前面に何かを挿入するたびに完全にコピーされるなど...)。私が見つけられないように見えるのは、dequeがどのように実装されているか、およびその欠点とリストの詳細です。誰かがこれらの2つの質問について私に教えてもらえますか?
85 python  deque 

11
range(len(a))の必要はありますか?
SOに関するPythonの質問で、このタイプの式が頻繁に見つかります。反復可能なすべてのアイテムにアクセスするためのいずれか for i in range(len(a)): print(a[i]) これは面倒な書き方です。 for e in a: print(e) または、反復可能要素の要素に割り当てる場合: for i in range(len(a)): a[i] = a[i] * 2 これは次と同じである必要があります: for i, e in enumerate(a): a[i] = e * 2 # Or if it isn't too expensive to create a new iterable a = [e * 2 …
85 python  for-loop  range 

7
Pythonコメントで長いURLをフォーマットし、PEP8に準拠するにはどうすればよいですか?
ブロックコメントで、80文字を超えるURLを参照したいと思います。 このURLを表示するための推奨される規則は何ですか? bit.lyがオプションであることは知っていますが、URL自体は説明的です。それを短縮してから、短縮されたURLを説明するネストされたコメントを付けることは、くだらない解決策のように思えます。
85 python  pep8 

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