zoukankan      html  css  js  c++  java
  • python

    模块对于python这门高级语言来说格外的重要

    我们可以通过各种模块来轻松完成不同的任务要求

    在使用模块之前,我们需要先导入模块  eg:

          import os : 使用os里面的方法要加模块名os   eg:os.system(cmd)

          from os import *   : 使用os里面的所有方法都不要加模块名os   eg:system(cmd)

          form os import system : 使用os里面的方法 system 不用加模块名os,用其他的方法就需要 eg: os.popen()

    也可以从模块中导入部分方法 ,eg: from os import Popen    只是导入os.Popen方法完全导入到当前文件(可以直接调用,不用加模块名)

    接下来,我们来说说python与系统交互的几个内置模块:

    OS模块:

        os模块提供了如下方法:

     1 '''
     2 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径
     3 os.chdir("dirname")  改变当前脚本工作目录;相当于shell下cd
     4 os.chmod(file,mode)  更改权限
     5 os.curdir  返回当前目录: ('.')
     6 os.pardir  获取当前目录的父目录字符串名:('..')
     7 os.makedirs('dirname1/dirname2')    可生成多层递归目录
     8 os.removedirs('dirname1')    若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
     9 os.mkdir('dirname')    生成单级目录;相当于shell中mkdir dirname
    10 os.rmdir('dirname')    删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname
    11 os.listdir('dirname')    列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
    12 os.remove()  删除一个文件
    13 os.rename("oldname","newname")  重命名文件/目录,若newname存在,则会报错
    14 os.stat('path/filename')  获取文件/目录信息
    15 os.sep    输出操作系统特定的路径分隔符,win下为"\",Linux下为"/"
    16 os.linesep    输出当前平台使用的行终止符,win下为"
    ",Linux下为"
    "
    17 os.pathsep    输出用于分割文件路径的字符串
    18 os.name    输出字符串指示当前使用平台。win->'nt'; Linux->'posix'
    19 os.system("bash command")  运行shell命令,直接显示
    20 os.popen(cmd)  执行系统命令。执行命令时不会打印任何信息,相当于把执行结果写到文件里面,
    所以要查看执行结果需要os.popen('dir').read()
    21 os.environ 获取系统环境变量 22 os.path.abspath(path) 返回path规范化的绝对路径 23 os.path.split(path) 将path分割成目录和文件名二元组返回 24 os.path.dirname(path) 返回path的目录。其实就是os.path.split(path)的第一个元素 25 os.path.basename(path) 返回path最后的文件名。如何path以/或结尾,那么就会返回空值。即os.path.split(path)的第二个元素 26 os.path.exists(path) 如果path存在,返回True;如果path不存在,返回False 27 os.path.isabs(path) 如果path是绝对路径,返回True 28 os.path.isfile(path) 如果path是一个存在的文件,返回True。否则返回False 29 os.path.isdir(path) 如果path是一个存在的目录,则返回True。否则返回False 30 os.path.join(path1[, path2[, ...]]) 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略 31 os.path.getatime(path) 返回path所指向的文件或者目录的最后存取时间 32 os.path.getmtime(path) 返回path所指向的文件或者目录的最后修改时间
    33 34 '''

    SYS模块:

    1 '''
    2 sys.argv           命令行参数List,第一个元素(sys.argv[0])是程序本身路径,sys.argv[1]...就是后面传递给当前文件的参数
    3 sys.exit(n)        退出程序,正常退出时exit(0)
    4 sys.version        获取Python解释程序的版本信息
    5 sys.path           返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
    6 sys.platform       返回操作系统平台名称
    7 sys.stdout.write('please:')
    8 val = sys.stdin.readline()[:-1]
    9 '''

    subprocess 模块:

     1 '''
     2 为了替换几个老的模块和方法,eg:os.system()、os.spawn*等
     3 以后在用python与系统直接调用时,尽量使用subprocess模块
     4 
     5 每次调用subprocess.run() 或call()等命令,都是另外启动一个子进程,所以在shell(或cmd)下的python解释器能看到结果,而在ide看不到(shell、cmd一闪而过)
     6 进程直接不能直接通信,所以要把子进程的运行结果返回到父进程,就要通过管道
     7 '''
     8 import subprocess
     9 
    10 res = subprocess.run('whoami')   #在shell中执行时,执行命令并打印,
    11 print('执行结束返回:',res)
    12 '''
    13 test14 执行结束返回: CompletedProcess(args='whoami', returncode=0)
    15 
    16 '''
    17 
    18 a = subprocess.Popen(['python'],stdin=subprocess.PIPE,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
    19 a.stdin.write(b'print("hello")
    ')
    20 a.stdin.write(b'print("world")
    ')
    21 print(a.communicate())
    22 '''
    23 (b'hello
    world
    ', b'')
    24 '''
  • 相关阅读:
    机器学习性能指标精确率、召回率、F1值、ROC、PRC与AUC--周振洋
    机器学习项目实战(一)垃圾邮件的过滤技术-周振洋
    Python音频处理(一)音频基础知识-周振洋
    LightGBM详细用法--机器学习算法--周振洋
    LightGBM的算法介绍
    Oracle数据库学习一 (Oracle数据库安装/环境变量配置/客户端/基础/问题...),待续...
    WebService小白学习 之 Spring整合CXF,添加拦截器 (7)
    WebService小白学习 之 CXF添加拦截器,自定义拦截器 (6)
    WebService小白学习 之 处理一些Map等复杂类型 (5)
    WebService小白学习 之 处理JavaBean以及复合类型,list (4)
  • 原文地址:https://www.cnblogs.com/xtsec/p/6679665.html
Copyright © 2011-2022 走看看