Python で一般的に使用される標準ライブラリとサードパーティ ライブラリ 2-sys モジュール
1. sys モジュールの紹介
前に紹介した os モジュールは主にオペレーティング システム用ですが、この記事の sys モジュールは主に Python インタープリタ用です。
sys モジュールは Python に付属するモジュールで、Python インタープリタと対話するためのインターフェイスです。 sys モジュールは、Python ランタイム環境のさまざまな部分を処理するための多くの関数と変数を提供します。
2. sys モジュールの一般的なメソッド
dir() メソッドを通じて sys モジュールにどのメソッドが含まれているかを確認できます:
import sys print(dir(sys))
1.sys.argv - コマンド ライン パラメータの取得
sys.argv は、プログラムの外部からプログラムにパラメータを転送するために使用され、コマンド ライン パラメータのリストを取得できます。 。 argv リストには、スクリプトに渡されるすべてのパラメータが含まれます。
- sys.argv[0]: プログラム自体を表します。
- sys.argv[1]: プログラムの最初のパラメータを表します。プログラム
- sys.argv[2]: プログラムの 2 番目のパラメータを示します。
import sys for index, arg in enumerate(sys.argv): print(index, arg)
このスクリプト ファイルを Python コマンド ラインで (パラメータなしで) 実行し、2 番目のパラメータを取得します。パラメータ 1 つの要素はスクリプト自体です。出力結果は次のようになります。
#このスクリプト ファイル (パラメータ付き) を Python コマンド ラインで実行すると、取得される最初の要素がスクリプト自体になります。残りは渡されるパラメータです。出力結果は次のようになります。
- n が 0 の場合: 正常終了 n が 0 に等しくない場合、異常終了により SystemExit Exception がトリガーされます
# sys.exit()用法示例 def exit_function(value): print("sys.exit()捕获到的value是%s" % value) sys.exit(0) print("start sys") try: sys.exit(888) except SystemExit as value: exit_function(value=value) print("end sys")
- プログラムは最初に print("start sys") を実行します。次に、try ステートメントを実行し、sys.exit(888) を呼び出します。次に、システム例外をキャプチャします。キャプチャされた SystemExit 例外の値は 888 です。 最後に exit_function 関数を呼び出し、値 888 を exit_function 関数に渡します。 exit_function 関数でステートメントを実行し、取得した値を出力し、最後に sys.exit(0) を呼び出します。プログラムを終了する場合
上个示例的执行结果可以看到在exit_function函数中调用sys.exit(0),此时程序就会退出,不会再执行print("end sys"),而当在exit_function函数中注释掉sys.exit(0),则会继续执行最后的代码print("end sys"),即:程序中途不退出,如下所示:
3.sys.platform-获取当前Python运行平台
基本用法
print(sys.platform)
Windows下运行:
Linux下运行:
除了sys.platform外,通过platform.system()也可以获取到当前系统平台:
Windows下运行:
Linux下运行:
适用场景
我们都知道Python是跨平台语言,只要操作系统安装了Python环境,那么同一份Python代码就可以既运行在Linux上,也可以运行在Windows上,亦或是Mac上。
而使用sys.platform或platform.system()获取到当前系统平台名称后,我们就可以针对性地作出不同操作,例如:
linux_content = "111111" windows_content = "222222" # 平台为Linux,执行逻辑1、发送文本1到指定邮件 if platform.system() == "Linux": send_email(linux_content) # 平台为Windows,执行逻辑2、发送文本2到指定邮件 elif platform.system() == "Windows": send_email(windows_content)
4.sys.path-返回Python相关路径
基本用法
sys.path是Python的搜索模块的路径集,供Python从中查找模块,返回一个list。
print(sys.path)
适用场景
如果是在IDE中执行Python程序,编译器会自动把当前项目的根目录加入到包查找路径中,可以理解为添加到环境变量下,所以直接执行是没有问题的。但是在cmd或是Terminal控制台中直接使用Python相关命令来执行程序,则不会自动将当前项目加入到PYTHONPATH环境变量下,如果涉及到import其他文件夹下的变量就会报类似"ModuleNotFoundError: No module named 'xxxx'"这样的错误。
解决方法:通过sys.path.append()方法将当前项目的根目录添加到系统环境变量中:
import sys root_path = os.path.dirname(os.path.realpath(__file__)) sys.path.append(root_path)
5.sys.stdin与sys.stdout
- Stdin:标准输入
- Stdout:标准输出
- Stderr:错误流
sys.stdin 与 input()
在Python中, input() 等价于 sys.stdin.readline()
① 先来看看使用input()的实现效果
# sys.stdin 与 input number = input("please input a number:") print("your input number is %s" % (number))
执行效果如下:
② 再来看看使用sys.stdin.readline()的实现效果
print("please input a number:",)# 逗号表示不换行 nn = sys.stdin.readline() print("your input number is %s" % (nn))
执行效果如下:
sys.stdout 与 print()
在Python中, print() 等价于 sys.stdout.readline()
① 先来看看使用print()的实现效果
# sys.stdout 与 print print("hello world")
执行效果如下:
② 再来看看使用sys.stdin.write()的实现效果
sys.stdout.write("hello world")
执行效果如下:
所以综上所述,input()+print() 结合的代码语句即可使用sys.stdin.readline()+sys.stdin.write()代替,如下:
sys.stdout.write("please input a number: n") number = sys.stdin.readline() sys.stdout.write("your input number is %s" % number)
执行效果如下:
6 .sys モジュールのその他の使用方法
- sys.version: Python インタープリターのバージョンを取得します
- sys.exc_info(): 例外情報トリプレットを返します
- sys.getdefaultencoding(): システムの現在のエンコーディングを取得します。デフォルトは utf-8です。
- sys.setdefaultencoding(): システムのデフォルトのエンコーディングを設定します。
- sys.getfilesystemencoding (): ファイル システムを取得します。エンコード方式を使用します。デフォルトは utf-8
- sys.modules: 現在の Python 環境にインポートされたすべてのモジュールを辞書形式で返します。
- sys .copyright: 現在の Python 著作権情報
- sys.getrefcount(object): オブジェクトへの参照の数を返します
- sys.getrecursionlimit(): Python の最大再帰深度を返します。デフォルトは 1000 です
- sys.getsizeof(object[,default ]): オブジェクトのサイズを返します
- sys.getwindowsversion(): 現在の Windows システムのバージョン情報を返します
概要
sys モジュールは Python に付属するモジュールで、主に Python インタープリターと対話するために使用されます。これには多くのメソッドまたは属性が付属しています。その中には次のものがあります。
1.sys.argv は、プログラムの外部からプログラムにパラメーターを転送するために使用され、コマンド ライン パラメーターのリストを取得できます。 argv リストには、スクリプトに渡されるすべてのパラメータが含まれます。
- sys.argv[0]: プログラム自体を表します。
- sys.argv[1]: プログラムの最初のパラメータを表します。プログラム
- sys.argv[2]: プログラム
- n が 0 の場合: 正常終了
- n が 0 に等しくない場合、異常終了により SystemExit 例外が発生します
#5 を使用できます。Python では、input() は sys.stdin.readline() に相当し、print() は sys.stdout に相当します。 。読み込まれた行()。
以上がPython で一般的に使用される標準ライブラリとサードパーティ ライブラリ 2-sys モジュールの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

Pythonは、スムーズな学習曲線と簡潔な構文を備えた初心者により適しています。 JavaScriptは、急な学習曲線と柔軟な構文を備えたフロントエンド開発に適しています。 1。Python構文は直感的で、データサイエンスやバックエンド開発に適しています。 2。JavaScriptは柔軟で、フロントエンドおよびサーバー側のプログラミングで広く使用されています。

VSコードはPythonの書き込みに使用でき、Pythonアプリケーションを開発するための理想的なツールになる多くの機能を提供できます。ユーザーは以下を可能にします。Python拡張機能をインストールして、コードの完了、構文の強調表示、デバッグなどの関数を取得できます。デバッガーを使用して、コードを段階的に追跡し、エラーを見つけて修正します。バージョンコントロールのためにGitを統合します。コードフォーマットツールを使用して、コードの一貫性を維持します。糸くずツールを使用して、事前に潜在的な問題を発見します。

VSコードはWindows 8で実行できますが、エクスペリエンスは大きくない場合があります。まず、システムが最新のパッチに更新されていることを確認してから、システムアーキテクチャに一致するVSコードインストールパッケージをダウンロードして、プロンプトとしてインストールします。インストール後、一部の拡張機能はWindows 8と互換性があり、代替拡張機能を探すか、仮想マシンで新しいWindowsシステムを使用する必要があることに注意してください。必要な拡張機能をインストールして、適切に動作するかどうかを確認します。 Windows 8ではVSコードは実行可能ですが、開発エクスペリエンスとセキュリティを向上させるために、新しいWindowsシステムにアップグレードすることをお勧めします。

PHPは1994年に発信され、Rasmuslerdorfによって開発されました。もともとはウェブサイトの訪問者を追跡するために使用され、サーバー側のスクリプト言語に徐々に進化し、Web開発で広く使用されていました。 Pythonは、1980年代後半にGuidovan Rossumによって開発され、1991年に最初にリリースされました。コードの読みやすさとシンプルさを強調し、科学的コンピューティング、データ分析、その他の分野に適しています。

VSコードでは、次の手順を通じて端末でプログラムを実行できます。コードを準備し、統合端子を開き、コードディレクトリが端末作業ディレクトリと一致していることを確認します。プログラミング言語(pythonのpython your_file_name.pyなど)に従って実行コマンドを選択して、それが正常に実行されるかどうかを確認し、エラーを解決します。デバッガーを使用して、デバッグ効率を向上させます。

VSコード拡張機能は、悪意のあるコードの隠れ、脆弱性の活用、合法的な拡張機能としての自慰行為など、悪意のあるリスクを引き起こします。悪意のある拡張機能を識別する方法には、パブリッシャーのチェック、コメントの読み取り、コードのチェック、およびインストールに注意してください。セキュリティ対策には、セキュリティ認識、良好な習慣、定期的な更新、ウイルス対策ソフトウェアも含まれます。
