、収集モジュール
コレクションの内蔵モジュールのpythonのコレクションです。カウンター、両端キュー、defaultdict、namedtuple、orderredDict:コレクションモジュールはまた、いくつかの追加データの種類を提供します
namedtupleは簡単にデータ型を定義することができ、彼はタプルの不変性を持っている、非常に便利な属性に応じて参照することができます。
インポートnamedtupleコレクションから 点= namedtuple(「座標」、[「X」、「 Y」「Z」])# 2番目のパラメータはイテレート可能オブジェクトが文字通過できる通過することができる 点= namedtuple(「座標」、X 、Y、Z)#文字列が、文字列と文字列の間の空間によって分離された 要素の数は内側第2のパラメータ値namedtupleの数と一致しなければならないことP =点(1,2,5)#注 プリント(P ) 印刷(PX) を印刷(PY) 印刷(PZ)
結果:
両端キュー:両端キュー
欠点のリスト:リストの挿入要素(挿入)を使用すると、要素を挿入するための時間は、非常に遅く、大量のデータが、速度がとても遅い場合、この要素の後ろのインデックスのすべての要素が、変わっていました。
両端キューがリストにそれを作ることができます。ヘッドが要素を追加または削除することは非常に効率的にできるように追記やポップの両端キューリストを達成することに加えて、また、()とpopleftを()appendleftサポートしています。
コレクションから両端キューインポート DQ =両端キュー([1,2,3]) dq.append(4) dq.append(5) dq.appendleft(6) プリント(DQ)#の両端キュー([6、1、2、3、 4、5]) 、印刷(dq.pop())#5 プリント(dq.popleft())#6
回路図両端キュー:
defaultdict:辞書のデフォルト値を設定します
defaultdictのコレクションをインポート DICは、空のリスト(呼び出し可能でなければならない引数の内部defaultdict)を辞書#デフォルトとして提供されdefaultdict(リスト)=で 数がへの呼び出しではありませんので、DICはdefaultdict(1)#エラーを= 印刷するには(DIC [「 '])#[] DIC [' B ']。追記(2) プリント(DIC [' B「])#[2]
第二に、時間モジュール
時間依存操作は、時間の3つの方法で表現されます。
1月1日後にタイムスタンプ、1970秒、すなわち:time.time()
すなわち、フォーマットされた文字列2014年11月11日11:11:time.strftime( '%Y-%M-%D')
構造化された時間のタプルが含まれています:年、日、週、などtime.struct_timeすなわち:time.localtime()
時間インポート 印刷(time.time())#は、現在のシステム時刻スタンプ(午後12時00分00秒で、1月1日に、1970年開始)を返します 印刷(time.ctime())#は、現在のシステム時刻を返します 印刷(time.strftimeを( "%Y-%M-%D% H:%M:%S"、time.gmtime()))#関連するstruct_timeは、指定された書式文字列形式に変換し 、印刷(time.strptime( "2016年5月17日" 、 "%Y-%M-%D "))位するstruct_timeフォーマットする文字列形式を変換 インポートdatatime CURRENT_TIME = datetime.datetime.now() プリント(datatime.data.today())出力フォーマット#2019から07を-18 プリント(currut_time)#21は、出力2019年7月18日である:25:52.646318 プリント(current_time.timetupleは())するstruct_time#フォーマット返し プリント(current_time.replace(2008,8,8))# 2008-08-08を21は:25:52.646318 STR_TO_DATEは= datetime.datetime.strptime( "11:20 28/7/08"、 "%のD /%M /%Y%のH:%のM")#日付形式の文字列に NEW_DATE = datetime.datetime.now()+ datetime.timedelta(日= 10)# 今より10日プラス NEW_DATE = datetime.datetime.now()+ datetime.timedelta(日= -10)# 今より10日間保存 NEW_DATE = datetime.datetime.now()+ datetime.timedelta(時間= -10)# 今すぐ割引10時間以上 NEW_DATE = datetime.datetime.now()+ datetime.timedelta(秒= 120)# 今120S +より 印刷(NEW_DATE)
三、ランダムモジュール
乱数:
ランダムインポート プリント(はrandom.Random())ランダム点値を生成する#0-1:0 <= N <1.0 指定された範囲内の整数を生成するための印刷(random.randint(1,2))# プリント(random.randrange(1,10))#は 、 指定された基本セットの増分の指定された範囲の中から乱数を取得し 、印刷(random.uniform(1,10))#は、指定された範囲内のランダムなシンボルを生成するために使用されますポイント プリント(random.choice( 'ニック') )#配列からランダムな要素を取得する のLi = [ 'ニック'、 'ジェニー'、 'CAR'] リストについてrandom.shuffleリチウム(Li)位要素が破壊 印刷(LI) li_new random.sample =(LI、2)(ランダムLiは二つの要素、断片としてリターンから取得)指定された長さから得られた#ランダムシーケンス指定断片 (li_new)印刷
ランダムなコードを生成:
:GET_CODE DEF(N) コード= '' :範囲内I(N-)のための 氏#乱数を小文字に大文字 upper_str = CHR(random.randint(65、90、)) lower_str = CHR(random.randint(97122 )) random_int = STR(random.randint(0,9)) #ランダムに特定の上記の3つから1つのランダム符号を選択する コードrandom.choice + =([upper_str、lower_str、random_int]) 戻りコード RES GET_CODE =(4) 印刷(RES)
四、osモジュール
OSは、オペレーティング・システム・レベルを提供するための手段
os.getcwdは()すなわち、現在の作業ディレクトリのパスのPythonスクリプトを、現在の作業ディレクトリを取得します os.chdir(「のdirname」)現在の作業ディレクトリを変更するためのスクリプトを、CDにシェル対応する 現在のディレクトリを返しますos.curdirを:(「」) OS現在のディレクトリ名の文字列の親ディレクトリを取得します:(「..」).pardir )os.makdirsは( 『DIR1 / dir2を』多層再帰的なディレクトリ生成することができ 、ディレクトリが空の場合、os.removedirs( 『dirname1』)を削除します再帰的親ディレクトリに、空で削除などべき os.mkdir(「DIRNAME」)単一レベルディレクトリを生成するために、シェルに相当するDIRNAME MKDIR os.rmdir(「DIRNAME」)空のシングルステージを削除ディレクトリは、ディレクトリが空でない場合は、エラーを削除することはできません。シェルDIRNAMEのは、rmdirの同等 os.listdir(「dirnameに」)は隠しファイルを含め、指定したディレクトリ内のすべてのファイルとサブディレクトリを、リストされ、リストとして印刷 os.remove ()ファイルを削除 (「OLDNAME」「新しいos.renameを 」) 、ファイル/ディレクトリの名前を変更する ファイル/ディレクトリ情報の取得はos.stat( 『パス/ファイル名を』) OSを。9月のオペレーティング・システム固有のパス区切り、「\\」を勝つために、Linuxは「/」であります 現在のプラットフォームで使用os.linesep行終端は、勝利は「\トンの\ nを」、「\ N-の」Linuxである ファイルパス分割するos.pathsep文字列 現在os.name文字列を、インターネットを使用して。勝利- >「NT」;のLinux - >「POSIX」 シェルコマンドを実行するにはos.system(「コマンドをbashの」)、直接表示 はos.environ取得システム環境変数の os.path.abspath(パス)は、パス正規化された絶対パスを返し OSを.path.splitタプル返されたディレクトリ・パス及びファイル名に(パス) os.path.dirname(パス)は、ディレクトリのパスを返します。実際には、第1の要素のos.path.split(パス) os.path.basename(パス)は、ファイル名の最後のパスを返します。どのようにパス/ \または最後に、それはNULL値を返します。すなわち、第2の素子のos.path.split(パス) パスが存在しない場合は、Falseを返す。os.path.exists(パス)パスは、存在する場合、真を返し 、パスは絶対パスである場合os.path.isabs(パス) Trueを返す 経路が存在するファイルである場合、os.path.isfile(パスに)がtrueを返します。それ以外の場合はFalseを返します os.path.isdir(パス)パスはTrueを返し、その後、存在するディレクトリである場合。それ以外の場合はFalseを返す os.path.join最初の絶対パスは無視される前に(パス1 [、パス2を[、...]])複数のパスパラメータの組み合わせの後に返され os.path.getatime(パス)復路ファイルまたはディレクトリの最終アクセス時刻を指し os.path.getmtime(パス)パス最終更新時間によって指されたファイルまたはディレクトリを返します
OSのインポート BASE_DIR = os.path.dirname(__ FILE__) MOVIE_DIR = os.path.join(BASE_DIR、「先生の作品) movie_list = os.listdir(MOVIE_DIR) :しばらく真の 列挙(movie_list、1で私のために、J ): 印刷(I、J) の選択が入力を=( 'あなたは、ああ(今日のホットな検索誰見たい:タンク先生)>>>:')ストリップ()。 choice.isdigit()IF:#は、ユーザーの入力かどうかを決定します純粋にデジタルである = INT(選択)#intを選択合格 範囲の選択(1、LEN場合 (movie_list)+1):#は、 の範囲内のリスト内の要素の数かどうかを決定 #は、ユーザがファイル名を見たい得る TARGET_FILEを= movie_list [-Choice 1] #スプライスファイルの絶対パス TARGET_PATH = os.path.join(MOVIE_DIR、TARGET_FILE) を開くと(TARGET_PATH、 'R&LT'、エンコード= 'UTF-8')、F AS: 印刷(f.read())
五、SYSモジュール
sys.argvのコマンドラインパラメータのリスト、プログラム自体の最初の要素は、パスである 場合、正常終了終了、プログラムを終了するsys.exit(n)は(0) ここで、sys.versionバージョンは、Pythonインタプリタ取得 sys.maxint最大のInt値 SYSをモジュール検索パスを返す.path、PYTHONPATH環境を使用する変数の初期値 はsys.platformは、オペレーティング・システム・プラットフォームの名前を返し 、関連する入力sys.stdinを sys.stdoutの出力関連 sys.stderror関連のエラーを
手書きのプログレスバー
手書きプログレスバー# インポートSYS、時間 (101)でレンジII用: sys.stdout.write( '\のR&LT')#は、すべての元の行を空に。 sys.stdout.write( "%sの%% |% sの|" %(int型(int型(ⅱ)* 100/100)、int型(int型* 100(ⅱ)/ 100)* '#'))# 総数現在数カウント進行状況に加えて 、リフレッシュ画面力にsys.stdout.flush()# time.sleepを(0.05)
六、シーケンシングモジュール
JSON、およびインター文字列データ型変換のためのpython
特定のデータ型のピクルス、型のpythonの間とのpythonに変換
ダンプ、ダンプ、ロード、負荷:JSONモジュールは、4つの機能を提供します
ダンプ、ダンプ、ロード、負荷:pickleモジュールには4つの機能を提供します
ダンプ()関数は、パラメータ及びデータオブジェクトとしてファイルハンドルを受け付け、データオブジェクトは、指定されたファイルに、特定の形式で格納されます。我々は、負荷を使用する場合は()関数は、ファイル保存されたオブジェクトから削除された、ピクルスは、元の形式にオブジェクトを復元する方法を知っています。
ダンプ()は同じ機能及びシーケンスのダンプ()関数を実行します。代わりに、ディスクファイルへのストリームオブジェクトとシリアライズされたデータを取るのは、関数は単純にシリアライズされたデータを返します。
負荷()関数およびデシリアライゼーションとして負荷()関数を実行します。代わりに、ストリームオブジェクトとシリアライズされたデータを読み込むドキュメントを取るのではなく、直接返されたオブジェクトの配列を含むstrのオブジェクトデータを受け入れます。
D = { "名前": "ジェイソン"} 印刷(D)#{ '名前': 'ジェイソン'} RES = json.dumps(D)#JSON格式的字符串必须是双引号>>>:「{」名前": "ジェイソン"}」 プリント(RES、タイプ(RES))#{ "名前": "ジェイソン"} <クラスのSTR '> RES1 = json.loads(RES) プリント(RES1、タイプ(RES1)# { '名前': 'ジェイソン'} <クラスの辞書'>