関数
- タスクを実行するための命令のセット。
- 入力を取り、結果を返すことができます。
- コードは、明確に再利用可能な、そしてより抽象的なください。
- 入力()関数は、値を入力するようにユーザに促します。
関数形式を使用してPythonスクリプトを書き換えます。
#は/ usr / binに/ envをパイソン! 輸入サブプロセス のインポートのoptparseの デフchange_mac(インタフェース、new_mac): プリント(" [+]用のMACアドレスを変更する" +インターフェース+ " に" + new_mac) subprocess.call([ " ifconfigコマンド"、インターフェイス、" ダウン" ]) subprocess.call([ " ifconfigコマンド"、インターフェース、" HW "、" エーテル" 、new_mac]) subprocess.call([" ifconfigコマンド"、インターフェース、" アップ" ]) パーサ = optparse.OptionParser() parser.add_option(" -i "、" --interface "、DEST = " インターフェース"、ヘルプ= " インターフェイスは、そのMACアドレスを変更します" ) parser.add_option(" -m "、" --mac "、DEST = " new_mac "、ヘルプ= " 新しいMACアドレス") (オプション、引数)= parser.parse_args() change_mac(options.interface、options.new_mac)
MACを変更するには成功し、次のコマンドを実行します。
パイソンmac_changer.py -i eth0の-m 00:11:22:33:44:22
Pythonスクリプトを書き換えます。
#!は/ usr / binに/ envをPythonの インポートサブプロセスの インポートoptparseは デフ:get_arguments() パーサ = optparse.OptionParser() parser.add_option(" -i "、" --interface "、DEST = " インターフェース"、ヘルプ= " インターフェイスそのMACアドレスを変更する" ) (parser.add_optionを" -m " " --mac "destが= " new_mac "助けます= "新しいMACアドレス" ) 戻りparser.parse_args() DEF change_mac(インタフェース、new_mac): プリント(" [+]のMACアドレスを変更する" +インターフェース+ " に" + new_mac) subprocess.call([ " ifconfigコマンド"インターフェース、" ダウン" ]) subprocess.call([ " ifconfigコマンド"、インターフェース、" HW "、" エーテル" 、new_mac]) subprocess.call([ "ifconfigコマンド"、インタフェース、" アップ" ]) (オプション引数) = get_arguments() change_mac(options.interface、options.new_mac)
MACを変更するには成功し、次のコマンドを実行します。
パイソンmac_changer.py -i eth0の-m 00:11:22:33:44:33
意思決定
- 条件がtrueの場合にのみコードを実行します。
条件文を使用してPythonコードを書き換えます。
#!は/ usr / binに/ envをPythonの インポートサブプロセスの インポートoptparseは デフ:get_arguments() パーサ = optparse.OptionParser() parser.add_option(" -i "、" --interface "、DEST = " インターフェース"、ヘルプ= " インターフェイスそのMACアドレスを変更する" ) (parser.add_optionを" -m " " --mac "destが= " new_mac "助けます= "新しいMACアドレス" ) (オプション、引数) = parser.parse_args() の場合 ではないoptions.interface: parser.error(" 。[ - ]詳細は--help使用し、インターフェイスを指定してください」) のelif ないoptions.new_mac: パーサ。エラー(" [ - ]詳細は--help使用し、新しいマックを指定してください。" ) リターンオプションは、 デフchange_mac(インタフェース、new_mac): プリント(" [+]用のMACアドレスを変更する" +インターフェース+ " に" +new_mac) subprocess.call([ " ifconfigコマンド"、インターフェース、" ダウン" ]) subprocess.call([ " ifconfigコマンド"、インターフェース、" HWを"、" エーテル" 、new_mac]) subprocess.call([ " ifconfigコマンド"、インターフェース、" アップ" ]) オプション = get_arguments() change_mac(options.interface、options.new_mac)
次のコマンドを使用してスクリプトをテストします。