1.モジュールの紹介
1.定義:
モジュール:本質は、.pyで終わるPythonファイルです(ファイル名:test.py、対応するモジュール名:test)
Pythonコードを論理的に整理するために使用されます(変数、関数、クラス、ロジック:関数を実現する)
2.構文:
インポートステートメント
インタプリタがimportステートメントを検出すると、モジュールが現在の検索パスにある場合にインポートされます。検索パスは、インタプリタが最初に検索するすべてのディレクトリのリストです。
インポートモジュール:
呼び出しシンボル:
From ... importステートメント
Pythonのfromステートメントを使用すると、指定したパーツをモジュールから現在の名前空間にインポートできます。構文は次のとおりです。
From ... importステートメント*
次の宣言を使用するだけで、モジュールのすべてのコンテンツを現在の名前空間にインポートすることもできます。
これにより、モジュール内のすべてのアイテムを簡単にインポートできます。from ... import *は注意して使用してください。
importとfromの違い:
importを使用する場合は、プレフィックスmodule.func()を追加します。これは、モジュールコードを現在のファイルに入れて、再度実行するのと同じです。
fromは、必要な関数または変数のインポートを指定できます。
インポートされたモジュールと現在のpyファイルは同じ機能を持っています。どちらが呼び出されますか?
Pythonが解釈されるため、背面が前面を覆います。
from…import…as…
3.エッセンスをインポートします
エッセンスのインポート:
モジュールをインポートすることの本質は、Pythonファイルを解釈して実行することです。
パッケージをインポートすると、基本的にパッケージの下の__init__.pyファイルが説明されます
init .py
パッケージ:本質は、モジュールを論理的に編成するために使用されるディレクトリ(__init__。pyファイルが必要)です。
パッケージをインポートする方法は?
**パッケージのインポートの本質:**パッケージの下にある__init__.pyファイルを実行します
パッケージの下にモジュールをインポートします
パッケージの下のモジュール、そのような呼び出しは間違っています
モジュールを__init__。pyコンテンツにインポートします
4.パス検索と検索パス
上記のすべてのモジュールは同じディレクトリからインポートされます。同じディレクトリにない場合:
インポートmodule_nameは、実際にはmodule_name.pyファイルを検索します。ファイルの場合は、パスが必要です。
モジュールのインポートは次のとおりです。.pyファイルの場所を見つけて再度実行すると、どこにありますか?sys.path。
#上記を参照してください:sys.pathはリスト内
の現在のパスです#これが、検索モジュールが最初に現在のディレクトリから検索する理由です
os.path.abspath(file)#現在のファイルの絶対パス
os.path.dirname( os.path.abspath(file))
#ディレクトリ名を取得sys.path.append():末尾
に追加#So:次のように最初の
sys.path.insertへのパスを動的に追加できます
5.インポートの最適化
6.属性のインポートを防止します
「frommoduleimport *」によって特定のモジュール属性をインポートしたくない場合は、インポートしたくない属性名にアンダースコア(_)を追加できます。ただし、モジュール全体をインポートする場合、または特定の属性を明示的にインポートする場合、データを非表示にするこの方法は機能しません。
第二に、モジュールの分類
a:標準ライブラリ
b:オープンソースモジュール-サードパーティモジュール
c:カスタムモジュール
3.一般的に使用される組み込みモジュール
1.osモジュール
システムレベルの操作を提供するために使用されます
2、時間和日時
Pythonでは、通常、時間を表現する方法がいくつかあります。
タイムスタンプ
フォーマットされた時間文字列
タプル(struct_time)には、合計9つの要素があります。
Pythonのタイムモジュール実装は主にCライブラリを呼び出すため、プラットフォームごとに異なる場合があります。
UTC(協定世界時)は、世界標準時であるグリニッジ天文時間でもあります。中国ではUTC + 8です。DST(夏時間)は夏時間です。
タイムスタンプ(timestamp):一般的に、タイムスタンプは1970年1月1日の00:00:00からのオフセットを秒単位で表します。「type(time.time())」を実行すると、戻り値はfloat型になります。タイムスタンプメソッドを返す関数には、主にtime()、clock()などがあります。
タプル(struct_time)モード:struct_timeタプルには合計9つの要素があり、struct_timeを返す関数には、主にgmtime()、localtime()、およびstrptime()が含まれます。
タイムスタンプまでの時間
フォーマットされた時間文字列
タイムスタンプとタプルを時間文字列に変換します
時間の加算と減算
3.ランダムモジュール
4.sysモジュール
5.シャットダウンモジュール
高度なファイル、フォルダー、コピー、圧縮パッケージ、その他の処理モジュール
6、ConfigParser
特定の構成を操作するために使用され、現在のモジュールの名前はpython3.xバージョンではconfigparserに変更されます。
多くのソフトウェアの一般的なドキュメント形式を次のように見てください
Pythonを使用してそのようなドキュメントを生成したい場合はどうなりますか?
生成
読んでください
Configparserは文法を追加、削除、変更、チェックします
7、hashlibモジュール
暗号化関連の操作に使用されます。3.xでは、md5モジュールとshaモジュールが置き換えられ、主にSHA1、SHA224、SHA256、SHA384、SHA512、MD5アルゴリズムが提供され、ハッシュ暗号化はすべてバイトタイプです。
Pythonにはhmacモジュールもあります。このモジュールは、作成したキーとコンテンツを内部で処理してから暗号化します。
8.サブプロセスモジュール
subprocess.run(...)を呼び出すことは、ほとんどの場合のニーズを満たすことができる推奨される一般的なメソッドですが、システムとの複雑な相互作用を実行する必要がある場合は、subprocess.Popen()を使用することもできます。構文は次のとおりです。
使用可能なパラメーター:
args:shell命令,可以是字符串或者序列类型(如:list,元组)
bufsize:指定缓冲。0 无缓冲,1 行缓冲,其他 缓冲区大小,负值 系统缓冲
stdin, stdout, stderr:分别表示程序的标准输入、输出、错误句柄
preexec_fn:只在Unix平台下有效,用于指定一个可执行对象(callable object),它将在子进程运行之前被调用
close_sfs:在windows平台下,如果close_fds被设置为True,则新创建的子进程将不会继承父进程的输入、输出、错误管道。 所以不能将close_fds设置为True同时重定向子进程的标准输入、输出与错误(stdin, stdout, stderr)。
shell:同上
cwd:用于设置子进程的当前目录
env:用于指定子进程的环境变量。如果env = None,子进程的环境变量将从父进程中继承。
universal_newlines:不同系统的换行符不同,True -> 同意使用
startupinfo与createionflags只在windows下有效 将被传递给底层的CreateProcess()函数,用于设置子进程的一些属性,如:主窗口的外观,进程的优先级等等
端末が入力するコマンドには、次の2種類があります。
• 输入即可得到输出,如:ifconfig
• 输入进行某环境,依赖再输入,如:python
相互作用が必要なコマンドの例
9、正規表現モジュール
一般的に使用される正規表現記号
最も一般的な一致構文
グループマッチングとgroup()、groups()、groupdict()
10.ロギングモジュール
Pythonのロギングモジュールは、さまざまな形式でログを保存できる標準のログインターフェイスを提供します。ロギングログは、debug()、info()、warning()、error()、critical()の5つのレベルに分けることができます。使い方を見てみましょう。
最も簡単な使用法
これらのログレベルの意味を見てください
ログをファイルに書き込みたい場合も、非常に簡単です。
次の文のlevel = loggin.INFOは、ログレコードレベルがINFOに設定されていることを意味します。つまり、INFO以上のログのみがファイルに記録されます。この例では、最初のログは記録されません。デバッグログを記録する場合は、ログレベルをDEBUGに変更するだけです。
画面にログとファイルログを同時に印刷したい場合は、少し複雑な知識を理解する必要があります
11.JSONとpickleデータのシリアル化
str eval
データのシリアル化
jsonは、すべての言語に共通の単純なもののみを処理でき、関数をjsonでシリアル化することはできません。
PickleはPythonですべてのデータ型をシリアル化できます
12.シェルフモジュール
shelveモジュールは、ファイルを介してメモリデータを永続化する単純なk、vモジュールであり、pickleでサポートされている任意のPythonデータ形式を永続化できます。
13、xml処理モジュール
XMLは、異なる言語またはプログラム間のデータ交換のためのプロトコルです。jsonに似ていますが、jsonの方が使いやすいです。jsonの前の交換方法
14.PyYAMLモジュール
Pythonはymalファイル形式も簡単に処理できますが、モジュールをインストールする必要があります
Pythonモジュールはこのリンクを参照できます:https://blog.csdn.net/ichen820/article/details/115206216