Python_script - Getting Started pt2

家不断粮灶不断烟,茅舍不漏布衣常缠

英文原文出处

0x0 环境

python3
Windows

0x1 python 脚本的基础结构

#!/usr/bin/env python # 告诉 OS(操作系统)python 解释器的位置
# -*- coding: utf-8 -*- # 脚本的编码方式

import <module1>,<module2> # 导入模块

def myFunction(): # 定义函数

def main(): # 定义主函数
    myFunction() # 调用函数

if __name__ == '__main__':
    main()

0x2 os 模块

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import os
class Domain:
    def __init__(self,domain,port,protocol):
        self.domain = domain
        self.port = port
        self.protocol = protocol

    def URL(self):
        if self.protocol == 'https':
            URL = 'https://' + self.domain + ':' + self.port + '/'
        elif self.protocol == 'http':
            URL = 'http://' + self.domain + ':' + self.port + '/'
        return URL

    def lookup(self):
        os.system("host " + self.domain )

if __name__ == '__main__':
    domain = Domain('www.baidu.com','80','https')
    print(dir(domain))
    URL = domain.URL()
    port = domain.port
    protocol = domain.protocol
    lookup = domain.lookup() # 需要在 Linux 系统上才可执行

    print(URL)
    print(port)
    print(protocol)
   # print(lookup)

在这里插入图片描述
上述结果出现错误的原因是由于 os.system(domain) 只能在 Linux 系统上执行,调用 host 命令解析域名为对应的 IP

① os 的 system 原理

  1. system 函数可以将字符串转化为命令在服务器上运行;其原理是每一条 system 函数执行时,其会创建一个子进程在系统上执行命令,子进程的执行结果无法影响主进程。
  2. 上述原理会导致当需要执行多条命令的时候可能得不到预期的结果。
import os
os.system('cd /usr/local')
os.mkdir('zhutou.txt')
  1. 上述程序运行之后会发现并没有创建在 /usr/local 文件夹下,而是在当前目录下,因为两条语句分别在不同的进程下执行。

② 使用 system 执行多条命令

import os
os.system('cd /usr/local && mkdir zhutou.txt')
或者
os.system('cd /usr/local ; mkdir zhutou.txt')

0x3 sys 模块

sys 模块可以读取 CLI(Command-line interface,命令行界面) 中给出的参数,并将它们拖到脚本中的变量中。语法很简单,sys.agv

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import sys

script = sys.argv[0]
ip = sys.argv[1]
port = sys.argv[2]

print("[+] The script name is: " + script)
print("[+] The first parameter is: " + ip)
print("[+] The second parameter is: " + port)
> python sys_module.py 8.8.8.8 80
[+] The script name is: sys_module.py
[+] The first parameter is: 8.8.8.8
[+] The second parameter is: 80
                                                                                                                                                                      猪头
                                                                                                                                                                   2020.3.27
发布了51 篇原创文章 · 获赞 4 · 访问量 2739

猜你喜欢

转载自blog.csdn.net/LZHPIG/article/details/105140321