• 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 '''
  • 相关阅读:
    Android 2.2 r1 API 中文文档系列(11) —— RadioButton
    Android API 中文 (15) —— GridView
    Android 中文 API (16) —— AnalogClock
    Android2.2 API 中文文档系列(7) —— ImageButton
    Android2.2 API 中文文档系列(6) —— ImageView
    Android 2.2 r1 API 中文文档系列(12) —— Button
    Android2.2 API 中文文档系列(8) —— QuickContactBadge
    [Android1.5]TextView跑马灯效果
    [Android1.5]ActivityManager: [1] Killed am start n
    Android API 中文(14) —— ViewStub
  • 原文地址:https://www.cnblogs.com/xtsec/p/6679665.html
Copyright © 2020-2023  润新知