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

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

13
リストを表形式のデータとして印刷する
私はPythonに非常に慣れていないため、印刷出力用にデータを適切にフォーマットするのに苦労しています。 2つの見出しに使用される1つのリストと、表のコンテンツになるマトリックスがあります。そのようです: teams_list = ["Man Utd", "Man City", "T Hotspur"] data = np.array([[1, 2, 1], [0, 1, 0], [2, 4, 2]]) 見出し名は必ずしも同じ長さではないことに注意してください。ただし、データエントリはすべて整数です。 これを、次のような表形式で表現したいと思います。 Man Utd Man City T Hotspur Man Utd 1 0 0 Man City 1 1 0 T Hotspur 0 1 2 これにはデータ構造が必要だと思いますが、見つかりません。辞書を使用して印刷をフォーマットしたり、インデント付きのforループを試したり、文字列として印刷したりしました。 これを行うには非常に簡単な方法があるはずだと確信していますが、経験不足のためにおそらくそれを逃しています。
366 python 

18
chromedriverでセレンを使用しているときにWebサイトで検出できますか?
私はChromedriverでSeleniumをテストしてみましたが、自動化がまったくなくても、一部のページでSeleniumの使用を検出できることに気付きました。SeleniumとXephyrでChromeを使用して手動で閲覧しているだけでも、不審なアクティビティが検出されたというページがよく表示されます。ユーザーエージェントとブラウザの指紋を確認しましたが、すべて通常のChromeブラウザとまったく同じです。 これらのサイトを通常のChromeで閲覧すると、すべて正常に動作しますが、Seleniumを使用した瞬間に検出されます。 理論的には、chromedriverとchromeはどのWebサーバーでも文字通りまったく同じに見えるはずですが、どういうわけかそれらを検出できます。 テストコードが必要な場合は、これを試してください: from pyvirtualdisplay import Display from selenium import webdriver display = Display(visible=1, size=(1600, 902)) display.start() chrome_options = webdriver.ChromeOptions() chrome_options.add_argument('--disable-extensions') chrome_options.add_argument('--profile-directory=Default') chrome_options.add_argument("--incognito") chrome_options.add_argument("--disable-plugins-discovery"); chrome_options.add_argument("--start-maximized") driver = webdriver.Chrome(chrome_options=chrome_options) driver.delete_all_cookies() driver.set_window_size(800,800) driver.set_window_position(0,0) print 'arguments done' driver.get('http://stubhub.com') スタブハブを参照すると、1つまたは2つのリクエストでリダイレクトされ、「ブロック」されます。私はこれを調査しており、ユーザーがSeleniumを使用していることを彼らがどのように知ることができるかわかりません。 どうやってやっているの? 更新を編集: FirefoxにSelenium IDEプラグインをインストールしましたが、追加のプラグインのみを使用して通常のFirefoxブラウザでstubhub.comにアクセスすると禁止されました。 編集: Fiddlerを使用して、送受信されるHTTPリクエストを表示すると、「偽のブラウザー」のリクエストの応答ヘッダーに「no-cache」が含まれていることがよくあります。 編集: このような結果JavascriptからSelenium Webdriverページにいることを検出する方法はありますかWebドライバーを使用しているときに検出する方法はないはずです。しかし、この証拠はそうでないことを示唆しています。 編集: サイトはサーバーにフィンガープリントをアップロードしていますが、チェックしたところ、セレンのフィンガープリントはクロムを使用した場合のフィンガープリントと同じです。 編集: これは、サーバーに送信するフィンガープリントペイロードの1つです。 …

20
部分文字列のすべての出現を見つける方法は?
Pythonはありstring.find()やstring.rfind()文字列のサブストリングのインデックスを取得します。 string.find_all()見つかったすべてのインデックスを返すことができるようなものがあるかどうか疑問に思っています(最初から最初のものだけでなく、最後から最初のものも)。 例えば: string = "test test test test" print string.find('test') # 0 print string.rfind('test') # 15 #this is the goal print string.find_all('test') # [0,5,10,15]
365 python  regex  string 

2
パンダのマージ101
パンダと(LEFT| RIGHT| FULL)(INNER| OUTER)結合を実行する方法? マージ後に不足している行にNaNを追加するにはどうすればよいですか? マージ後にNaNを取り除くにはどうすればよいですか? インデックスでマージできますか? パンダと一緒に参加しますか? 複数のデータフレームをマージするにはどうすればよいですか? merge?join?concat?update?WHO?何?なぜ?! ... もっと。私はパンダのマージ機能のさまざまな側面について尋ねるこれらの繰り返しの質問を見てきました。今日のマージとそのさまざまな使用例に関するほとんどの情報は、不適切な言葉で検索できない数十の投稿に断片化されています。ここでの目的は、後世のためのいくつかのより重要なポイントを照合することです。 このQnAは、一般的なパンダのイディオムに関する一連の役立つユーザーガイドの次の記事になることを意図しています(ピボットに関するこの投稿と、後で説明する連結に関するこの投稿を参照してください)。 この投稿はドキュメントの代わりとなるものではないので注意してください。いくつかの例はそこから取られています。
365 python  pandas  join  merge 


7
Python文字列でパーセント(%)を選択的にエスケープするにはどうすればよいですか?
次のコードがあります test = "have it break." selectiveEscape = "Print percent % in sentence and not %s" % test print(selectiveEscape) 出力を取得したいと思います: Print percent % in sentence and not have it break. 実際に起こること: selectiveEscape = "Use percent % in sentence and not %s" % test TypeError: %d format: a number is required, …


12
IPythonでサブモジュールをリロードする
現在、私はサブモジュールを含み、numpy / scipyを使用するpythonプロジェクトに取り組んでいます。Ipythonはインタラクティブコンソールとして使用されます。残念ながら、現在使用しているワークフローにはあまり満足していません。アドバイスをいただければ幸いです。 IPythonでは、フレームワークは単純なimportコマンドによってロードされます。ただし、多くの場合、フレームワークのサブモジュールの1つでコードを変更する必要があります。この時点でモデルは既にロードされており、IPythonを使用してモデルと対話します。 現在、フレームワークには相互に依存する多くのモジュールが含まれています。つまり、フレームワークが最初にロードされたとき、メインモジュールはサブモジュールをインポートして構成しています。コードの変更は、モジュールがを使用してリロードされた場合にのみ実行されますreload(main_mod.sub_mod)。フルパスを使用して、変更されたすべてのモジュールを個別にリロードする必要があるため、これは面倒です。reload(main_module)numpy / scipy。を再ロードせずに、すべてのサブモジュールも再ロードする場合は、非常に便利です。
363 python  ipython 


6
Pythonの「__enter__」と「__exit__」の説明
私はこれを誰かのコードで見ました。どういう意味ですか? def __enter__(self): return self def __exit__(self, type, value, tb): self.stream.close() from __future__ import with_statement#for python2.5 class a(object): def __enter__(self): print 'sss' return 'sss111' def __exit__(self ,type, value, traceback): print 'ok' return False with a() as s: print s print s





12
Pythonで文字列を連結するための好ましい方法はどれですか?
Pythonはstring変更できないので、文字列をより効率的に連結する方法を考えていましたか? 私はそれのように書くことができます: s += stringfromelsewhere またはこのように: s = [] s.append(somestring) later s = ''.join(s) この質問を書いているときに、このトピックについて話している良い記事を見つけました。 http://www.skymind.com/~ocrow/python_string/ しかし、それはPython 2.xにあるので、問題はPython 3で何か変更があったのでしょうか?

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