Pythonコマンドライン活用
Pythonスクリプトの実行方法
コマンドラインから.pyファイルを実行するには?
pythonコマンドを使用してスクリプトを実行します。現在のディレクトリにある場合は単純なファイル名で実行可能です。
python hello.py
注意:macOS環境ではデフォルトでPython 2が設定されているため、python3コマンドを使用してください。
注意:環境変数PATHが正しく設定されていない場合(例:Jenkinsやcrontabでの実行時)、pythonコマンドが見つからないことがあります。その場合はpython実行ファイルのフルパスを指定します。
C:\Users\Secoo\AppData\Local\Programs\Python\Python37-32\python.exe D:\hello.py
python -m モジュールの利用
Pythonモジュールを呼び出す方法は?
pip、pytest、HttpRunnerのhrunなど、多くの三方ライブラリはScriptsディレクトリに実行ファイルをインストールします。環境変数PATHにScriptsディレクトリが含まれている場合、命令行から直接コマンドを実行できます。
PATHが設定されていない場合は、python -mを使用してモジュールを呼び出せます。
python -m pytest テストケースのパス
python -m pip install インストールするパッケージ名
注意:macOS/Linux環境でも同様に動作します。pipが認識されない場合は、一時的にpython3 -m pipを使用します。
python -c 一行コード実行
コマンドラインで短いPythonコードを実行するには?
python -cオプションを使用すると、Pythonインタラクティブ環境を開かずにコードを実行できます。
コマンドラインとPythonインタラクティブ環境の識別
コマンドライン(cmd)環境とPythonインタラクティブ環境の違いは何ですか?.pyファイルの実行とパッケージインストールは哪个環境で行いますか?Pythonインタラクティブ環境でパッケージがインストールされていることを確認する方法は?
コマンドラインとPythonインタラクティブ環境ではプロンプト記号が異なります:
- コマンドライン環境:Pythonスクリプトの実行、pipによるパッケージインストール、pytestの実行、システムコマンドの実行に使用
- Pythonインタラクティブ環境:Pythonコードのデバッグ、import、変数宣言、if文、関数定義などに使用
コマンドライン環境
Pythonインタラクティブ環境
Pythonインタラクティブ環境では、import三方ライブラリ名とし、エラーが発生しなければそのライブラリはインストールされています。
>>> import selenium
エラーが発生しなければseleniumがインストールされています。
パッケージ管理
第三方ライブラリのインストール
Python三方パッケージをインストールする方法は?コマンドラインでパッケージがインストールされているか確認する方法は?
pip install パッケージ名コマンドでオンラインインストールできます。また、https://pypi.orgから.whlファイルをダウンロードし、pip install ローカルパスでインストール可能です(依存パッケージは別途インストールが必要な場合があります)。
コマンドラインでpip install パッケージ名を実行し、「Requirement already satisfied」と表示されればインストール済みです。
pip listコマンドでインストール済みパッケージ一覧を確認できます。
注意:Windowsでは文字列検索にfindstrを使用し、macOS/Linuxではgrepを使用します。
環境変数PATHの役割
環境変数PATHの役割は何ですか?コマンドラインで「pipは実行可能なコマンドではありません」というエラーが発生する原因と対処法は?
環境変数PATHの役割は、どのディレクトリからでもpython、pip、pytest、java、adbなどのコマンドやツールを直接使用できるようにすることです。コマンドラインでpythonと入力すると、PATHに設定されたパスからpython.exeまたはpython.cmdを探します。
「pipは実行可能なコマンドではありません」というエラーは、PATHに含まれるすべてのディレクトリにpip.exeが存在しないためです(即ち、pip.exeのあるディレクトリが環境変数PATHに設定されていません)。
一時的な解決策としてはpython -m pipを使用するか、pip.exeのあるディレクトリ(PythonインストールディレクトリのScriptsディレクトリ)をPATHに追加します。
注意:環境変数を更新した後、cmdを再起動する必要があります。PyCharmのターミナルは最新の環境変数を読み込むために再起動が必要です。
インストールエラーの対処
pipインストール時にDouバンソースを使用し、エラーが発生した場合の対処方は?
エラー表示は通常2色で区別されます。赤色はエラー、青色は警告です。エラーが発生した場合、まず最後の一行を確認します。
..ReadTimeoutError: HTTPSconnectionPool(….)の形で、コロンの前は例外タイプ、後ろは具体的な説明です。要約すると、「読み取りタイムアウトエラー」で、HTTP接続プールがサーバーfiles.pythonhosted.orgへの接続時にタイムアウトしました。
オンラインインストール時、パケットは海外サーバーからダウンロードされるため、サイズが大きい거나 네트워크 상태가 좋지 않으면 이러한 오류가 발생하기 쉽습니다.
해결책은 다시 시도하거나 국내 미러 소스를 사용하는 것입니다.
pip install selenium -i https://pypi.douban.com/simple/
黄色的部分是警告で、現在pipが最新バージョンではないことを示しています。無視しても構いませんが、表示されるコマンドで升级できます。
PyCharm関連
PyCharmの環境とインストール済みパッケージの確認
PyCharmで仮想環境とローカル環境のどちらを使用しているかを確認するには?インタープリタを切り替えるには?環境にインストールされているパッケージを確認する方法は?
PyCharmでは、新規プロジェクト作成時にデフォルトで仮想環境(第三方ライブラリが什么都没有的新环境)を作成します。
命令行でインストールしたパッケージ(ローカル環境)は、虚拟环境には存在しません。因此、代码でimportするとエラーになります。
ターミナルを開いて、是否使用了虚拟环境を確認できます。
前方に(venv)が表示されている場合は虚拟环境(即ち没有任何包,需要重新安装)です。
PyCharmのターミナルでpip listを実行するか、设定で確認できます。Files->Settingsをクリックし、Project: プロジェクト名下のPython Interpreterを探します。
現在の环境の包を確認でき、ドロップダウンリストでインタープリタ(环境)を切り替えたり、下の+ボタンで必要な包をインストールできます。
注意:新規プロジェクト作成時に、Pythonインタープリタの折りたたみを展开し、ローカル环境を選択することで、この问题を回避できます。
PyCharmでの関数定義の確認
PyCharmで函数の使用方法を確認するには?必要な参数有哪些、分别是怎样的格式?
函数を调用する際(特に他の人が書いた代码)、使用方法を把握する必要があります。即ち、参数的数量と类型、戻り値の类型を知る必要があります。PyCharmでは、マウスを函数の上に移动すると、函数の定义が表示されます。
これは、calcモジュールのadd函数が2つのパラメータを持ち、ともにint整数タイプであり、戻り値がint整数タイプであることを示しています。
Ctrlキーを押しながらマウスを函数名に移動すると、ヒントを表示できます。
函数の具体的な定义と処理过程を確認するには、Ctrlキーを押しながら函数名をクリックし、函数のソースコードに移動します。
PyCharmでのエラー表示
PyCharmで薄い赤と薄い黄色のハイライト是什么原因?如何して异常の詳細を確認しますか?
薄い赤のハイライトと赤の波線はエラーを示し、常见的是句点、括弧の书き方や构文エラーです。
薄い黄色のハイライトは、一般的に函数パラメータ异常またはオブジェクトに该当する属性やメソッドがない場合です。
実行エラーへの対処
代码エラー发生时、如何して何种异常を確認しますか?异常の原因说明とエラー发生行は哪个ですか?
代码エラーが発生しても慌てず、まず最后の行を確認します。コロンの前は异常タイプ、後ろは具体的な原因说明です。
エラーが発生した行は、main.pyファイルの3行目driver = webdriver.Chrome()です。
翻译すると、これはselenium的一般异常の中の「セッション作成异常」です。セッションはブラウザとの连接交互を指します。
翻译したエラー原因から、使用しているchromedriverのバージョンが古く、現在のブラウザをサポートしていないことがわかります。解決策は对应するバージョンのchromedriverを再ダウンロードすることです。
Pythonデータタイプ関連
変更可能と変更不可能なタイプ
Pythonにはどのような数据类型がありますか?哪些是可变的,哪些是不可变的?
Pythonの一般的な数据类型には:文字列、数字(整数、浮動小数点、真偽値)、リスト、タプル、辞書、セットがあります。
- 変更可能なタイプ:リスト、辞書、通常のセット
- 変更不可能なタイプ:文字列、数字、タプル、frozen set(不変セット)
変更可能なタイプは一般的に混合コンテナ型で,如列表、字典,可以随意增加删除,可以容纳任何类型的元素。
注意:変更不可能なタイプ,如字符串,在修改时会创建新的变量。
为什么要区分可变和不可变呢?因为有一种东西叫Hash(即散列表),它是通过变量来计算得出存储地址的,这就要求变量不能修改,不然就找不到它的存储地址了。
因此、変更不可能なタイプ(文字列、数字、タプルなど)はHash可能다고 합니다。Pythonの辞書とセットはHashタイプに基づいており、辞書のキーは変更不可能なタイプのみ使用できます。
ハッシュタイプ(辞書、セット)は計算によって存储地址が分かるため、データ量がいても1回の操作でデータを検索でき、検索効率が非常に高いです。
文字列の数字判定
文字列が数字かどうかを確認するには?
文字列のis_number()またはis_digit()メソッドを使用して、文字列が数字かどうかを確認できます。
‘123’.is_number()がTrueを返した場合、数字であることを示します。
文字列フォーマット
name = ‘LiLy’ age=18 gender=’女’の場合、変数name、age、genderの实际値を文字列"我是Kevin,年龄21,性别male"に埋め込むには?
これは文字列フォーマット操作で、複数の変数の値を文字列に埋め込む必要があります。連結是最単純な方法ですが、一般的には文字列にプレースホルダーを埋め込み、順に変数を挿入します。
文字列とリストの相互変換
文字列"I am the whole world")をスペースで分割し、リスト反转し、スペースで再度連結して"world whole the am I"にするには?
文字列をリストに分割(split)、リストを文字列に組み立て(join)は最も使用频率の高い2つの方法です。
1行で实现 다음과 같습니다:
注意:这里使用了reversed()、このグローバル関数は反转后的新しいリストを返し、リストのreverse()メソッドは元のリストを反转し、Noneを返します。joinはリストをパラメータとして要求するため、reversed()を使用する必要があります。
辞書/リストの遍历と组装
辞書{‘Kevin’: 21, ‘Lily’: 19, ‘John’: 20}をリスト[{‘name’: ‘Kevin’, ‘age’: 21}, {‘name’: ‘Lily’, ‘age’: 19}, {‘name’: ‘John’, ‘age’: 20}]形式に変換するには?
リスト、辞書の遍历と再组装是非常常用的操作입니다.
推导式を使用してすばやく结果を得ることもできます:
注意:遍历字典的key, value时,需要遍历字典の.items()而不是字典本身。
リストとセット
リストとセットの違いは何ですか?大数据量查询时哪个更高效?
リストは数组に类似しており、メモリ内で連続的に存储され、インデックスによる検索が非常に方便ですが、値による検索は先頭부터顺に比较するため、リストが長くなるほどこの比较検索过程が遅くなります。
セットはHashタイプに基づいており、要素の存储アドレスは計算されるため、データ量が多大であっても、要素の検索は常に1步骤のみで済みます。因此、大数据量検索时、セットの方が効率的です。