Pythonの構成情報へのアクセス
Pythonのインストールの構成情報には、sysconfigモジュールからアクセスできます。たとえば、インストールパスのリストとインストールプラットフォームに固有の構成変数。
sysconfigモジュールは、構成変数にアクセスするための次の関数を提供します
sysconfig.get_config_vars()
引数がない場合、この関数は現在のプラットフォームに関連するすべての構成変数の辞書を返します。
>>> import sysconfig >>> sysconfig.get_config_vars() {'prefix': 'E:\\python37', 'exec_prefix': 'E:\\python37', 'py_version': '3.7.2', 'py_version_short': '3.7', 'py_version_nodot': '37', 'installed_base': 'E:\\python37', 'base': 'E:\\python37', 'installed_platbase': 'E:\\python37', 'platbase': 'E:\\python37', 'projectbase': 'E:\\python37', 'abiflags': '', 'LIBDEST': 'E:\\python37\\Lib', 'BINLIBDEST': 'E:\\python37\\Lib', 'INCLUDEPY': 'E:\\python37\\Include', 'EXT_SUFFIX': '.pyd', 'EXE': '.exe', 'VERSION': '37', 'BINDIR': 'E:\\python37', 'SO': '.pyd', 'userbase': 'C:\\Users\\acer\\AppData\\Roaming\\Python', 'srcdir': 'E:\\python37'}
引数を使用して、特定のキーの値のリストを返します。引数ごとに、値が見つからない場合は、Noneを返します。
>>> sysconfig.get_config_vars('base','EXE') ['E:\\python37', '.exe']
sysconfig.get_config_var()
この関数は、単一の変数名の値を返します。これは、get_config_vars()。get(name)と同等です。名前が見つからない場合、関数はNoneを返します。
>>> sysconfig.get_config_var('VERSION') '37' >>> sysconfig.get_config_var('srcdir') 'E:\\python37'
Pythonは、プラットフォームとインストールオプションによって異なるインストールスキームを使用します。現在、次のスキームがサポートされています:
posix_prefix | LinuxやMacOSXなどのPosixプラットフォームのスキーム。 |
posix_home | インストール時にホームオプションを使用する場合に使用されるPosixプラットフォームのスキーム。 |
posix_user | コンポーネントがDistutilsを介してインストールされ、ユーザーオプションが使用される場合に使用されるPosixプラットフォームのスキーム。 |
nt | WindowsなどのNTプラットフォーム向けのスキーム。 |
nt_user | ユーザーオプションが使用されている場合のNTプラットフォームのスキーム |
get_path_names()
この関数は、sysconfigで現在サポートされているすべてのパス名を含むタプルを返します。
>>> sysconfig.get_path_names() ('stdlib', 'platstdlib', 'purelib', 'platlib', 'include', 'scripts', 'data')
各スキームは、一意の識別子を持つさまざまなパスで構成されています。パス名は次のとおりです。
stdlib | プラットフォーム固有ではない標準のPythonライブラリファイルを含むディレクトリ。 |
platstdlib | プラットフォーム固有の標準Pythonライブラリファイルを含むディレクトリ。 |
platlib | サイト固有、プラットフォーム固有のファイルのディレクトリ。 |
purelib | サイト固有、非プラットフォーム固有のファイルのディレクトリ。 |
インクルード | プラットフォーム固有ではないヘッダーファイルのディレクトリ。 |
platinclude | プラットフォーム固有のヘッダーファイルのディレクトリ。 |
スクリプト | スクリプトファイルのディレクトリ。 |
データ | データファイルのディレクトリ。 |
get_path()
この関数は、schemeという名前のインストールスキームから、パス名に対応するインストールパスを返します。
>>> sysconfig.get_path('include') 'E:\\python37\\Include'
>>> sysconfig.get_platform() 'win-amd64'
get_python_version()
この関数は、MAJOR.MINORPythonバージョン番号を文字列として返します。
get_platform()
この関数は、現在のプラットフォームを識別する文字列を返します。
構成変数とその値には、-mオプションを指定したsysconfigモジュールを使用してアクセスすることもできます。
E:\python37>python -m sysconfig Platform: "win-amd64" Python version: "3.7" Current installation scheme: "nt" Paths: data = "E:\python37" include = "E:\python37\Include" platinclude = "E:\python37\Include" platlib = "E:\python37\Lib\site-packages" platstdlib = "E:\python37\Lib" purelib = "E:\python37\Lib\site-packages" scripts = "E:\python37\Scripts" stdlib = "E:\python37\Lib" Variables: BINDIR = "E:\python37" BINLIBDEST = "E:\python37\Lib" EXE = ".exe" EXT_SUFFIX = ".pyd" INCLUDEPY = "E:\python37\Include" LIBDEST = "E:\python37\Lib" SO = ".pyd" VERSION = "37" abiflags = "" base = "E:\python37" exec_prefix = "E:\python37" installed_base = "E:\python37" installed_platbase = "E:\python37" platbase = "E:\python37" prefix = "E:\python37" projectbase = "E:\python37" py_version = "3.7.2" py_version_nodot = "37" py_version_short = "3.7" srcdir = "E:\python37" userbase = "C:\Users\acer\AppData\Roaming\Python"
-
PythonでPOSTメソッドを使用して情報を渡す
CGIプログラムに情報を渡す一般的により信頼性の高い方法はPOST方法です。これは、GETメソッドとまったく同じ方法で情報をパッケージ化しますが、?の後にテキスト文字列として送信する代わりにURLでは、別のメッセージとして送信します。このメッセージは、標準入力の形式でCGIスクリプトに送られます。 例 以下は、GETメソッドとPOSTメソッドを処理する同じhello_get.pyスクリプトです。 #!/usr/bin/python Import modules for CGI handling import cgi, cgitb # Create instance of FieldStora
-
PythonでGETメソッドを使用して情報を渡す
GETメソッドは、ページリクエストに追加されたエンコードされたユーザー情報を送信します。ページとエンコードされた情報は?で区切られます次のような文字- https://www.test.com/cgi-bin/hello.py?key1=value1&key2=value2 GETメソッドは、ブラウザからWebサーバーに情報を渡すためのデフォルトのメソッドであり、ブラウザのLocation:boxに表示される長い文字列を生成します。サーバーに渡すパスワードやその他の機密情報がある場合は、GETメソッドを使用しないでください。 GETメソッドにはサイズ制限があります。リクエスト文字列で