zoukankan      html  css  js  c++  java
  • python模块 os&sys&subprocess&hashlib模块

    os模块

    # os模块可根据带不带path分为两类
    # 不带path
    print(os.getcwd())  # 得到当前工作目录
    print(os.name)  # 指定你正在使用的操作系统,windows为nt,linux为“posix"
    os.shell()      # 运行shell命令
    print(os.environ) # 返回操作系统所有的环境变量
    print(os.getenv("home")) # 读取指定环境变量的值
    os.environ.setdefault("home","c:windows")
    print(os.linesep) # 给出当前系统的行中止符,Windows使用'
    ',Linux and MAC使用'
    '
    print(os.listdir()) # 返回指定目录下的所有文件和目录名,默认当前目录下。
    os.remove()   # 删除指定的文件
    os.mkdir() # 创建一个目录
    os.makedirs(r"d:1122") # 创建多级目录
    os.removedirs(r"d:1122") # 删除多级目录,目录不为空时报错,删除后上级目录为空的话继续删除
    os.rename("old","new")
    print(os.stat("time模块.py")) #获取文件属性
    os.chmod() # 修改文件权限与时间戳
    os.chdir(dirname) # 修改工作目录到dirname
    os.get_terminal_size() # 获取当前终端的大小
    os.kill(10884,signal.SIGKILL) # 杀死进程
    # 带path
    os.path.abspath() # 获取绝对路径
    os.path.dirname() # 获取路径名
    os.path.basename() # 获取文件名
    os.path.getsize() # 获取文件大小
    os.path.split() # 获取一个路径的目录名与文件名   e.g os.path.split('/home/swaroop/byte/code/poem.txt') 结果:('/home/swaroop/byte/code', 'poem.txt')
    os.path.splitext() # 分离扩展名               e.g  os.path.splitext('/usr/local/test.py')    结果:('/usr/local/test', '.py')
    os.path.join(dir,filename) #结合目录名与文件名
    os.path.isfile() # 判断是否是一个文件
    os.path.isdir() # 判断是否是一个目录
    os.path.isabs() # 判断是否是绝对路径
    os.path.exists() # 判断给出的路径是否真的存在

    sys模块

    sys.argv                            # 命令行参数List,第一个元素是程序本身路径
    sys.exit(n)                         # 退出程序,正常退出时exit(0)
    sys.version                         # 获取Python解释程序的版本信息
    sys.maxint                          # 最大的Int值
    sys.path                            # 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
    sys.platform                        # 返回操作系统平台名称
    sys.stdout.write('please:')         # 标准输出 , 引出进度条的例子, 注,在py3上不行,可以用print代替
    val = sys.stdin.readline()[:-1]     # 标准输入
    sys.getrecursionlimit()             # 获取最大递归层数
    sys.setrecursionlimit(1200)         # 设置最大递归层数
    sys.getdefaultencoding()            # 获取解释器默认编码
    sys.getfilesystemencoding           # 获取内存数据存到文件里的默认编码

    subprocess模块

    hashlib模块

    # 用于加密相关的操作,代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法
    import hashlib
    c = hashlib.sha1()c.update("admin".encode("utf8"))print(s.hexdigest())print(s.digest())
    
    # 以上加密算法虽然依然非常厉害,但时候存在缺陷,即:通过撞库可以反解。所以,有必要对加密算法中添加自定义key再来做加密。
    s = hashlib.md5(bytes("451sdhjshdjs",encoding="utf-8"))
    s.update(bytes("admin", encoding="utf-8"))
    print(s.hexdigest())
    
    # python内置还有一个 hmac 模块,它内部对我们创建 key 和 内容 进行进一步的处理然后再加密
    import hmac
    h = hmac.new(bytes("shsh55", encoding="utf-8"))
    h.update(bytes("admin", encoding="utf-8"))
    print(h.hexdigest())
  • 相关阅读:
    Rest_framework-3
    Nginx 之一:编译安装nginx 1.8.1 及配置
    vmware虚拟机克隆CentOS7 出现的网络问题解决办法
    OAuth认证
    5个节点hadoop安装(zookeeper)
    hadoop完整安装
    从vmware模板克隆linux的操作
    ssh 免密码设置失败原因总结
    hadoop-2.6.0.tar.gz的集群搭建(3节点)(不含zookeeper集群安装)
    linux静态IP设置
  • 原文地址:https://www.cnblogs.com/zt0903/p/10686960.html
Copyright © 2011-2022 走看看