zoukankan      html  css  js  c++  java
  • day5_os模块和sys模块

    os模块是python里比较常用的模块,是跟操作系统相关的,包含很多方法,今天主要讲解os模块的几个常用方法:
    1、os.getcwd()
    是获取当前路径的方法,可以用print(os.getcwd())查看当前路径是什么

     

    2、os.chdir('')
    是更改目录的方法,如果os.chdir('../')是更改到上级目录,要想看返回值,必须在print(os.getcwd())

     

    3、os.mkdir("test1")
    是创建文件夹方法,os.mkdir("test1"),创建单个文件夹

     

    4、os.makedirs('aa/bb/cc')
    递归创建文件夹,父目录不存在时创建父目录,os.makedirs('aa/bb/cc'),创建多个文件夹

     

    5、os.rmdir("test1")
    是只能删除空文件夹的方法,可以用os.rmdir("test1")查看是否成功删除空文件夹

     

    6、os.removedirs(' aa/bb/cc ')
    递归删除空目录,可以用os.removedirs('aa/bb/cc')查看是否删除成功

     

    7、os.remove("a.py")
    是删除文件的方法,可以用os.remove("a.py")查看是否成功删除文件

     

    8、os.listdir('.')
    print(os.listdir('.'))打印出一个目录下的所有文件和文件夹,以list的形式展示

     

    9、os.rename("test", "test1")
    是重命名文件或文件夹的方法,把前面的文件夹、文件改成后面的文件夹、文件

     

    10、os.path.abspath(__file__)
    是根据相对路径获取绝对路径的方法,print(os.path.abspath(__file__))可以获取实际的绝对路径

     

    11、os.path.split("/aa/bb/cc.txt")
    是分割路径和文件名的方法,也可以都是目录进行分割,返回一个元组,print(os.path.split('aa/bb/cc.txt'))打印出('aa/bb', 'cc.txt'),传入的路径不存在也可以分隔

     

    12、os.path.dirname("/usr/local/a.txt")
    是获取父目录的方法,可以用print(os.path.dirname("/usr/local/a.txt"))查看,返回的父目录是/usr/local,传入的路径不存在也可以获取到父目录

     

    13、os.path.exists("/usr/local")
    是证明目录/文件是否存在,print(os.path.exists('usr/local/cc.txt')),如果存在就返回True,否则返回False

     

    14、os.path.isfile("test1.py")
    是判断是否是一个文件的方法,可以用print(os.path.isfile("test1.py"))查看,如果文件存在返回True,否则返回False

     

    15、os.path.isdir("test1")
    是判断是否是一个文件夹的方法,可以用print(os.path.isdir("test1"))查看,如果文件夹存在就返回True,否则返回False

     

    16、os.path.join("root", 'hehe', 'a.sql')
    是拼接成一个路径的方法,可以用print(os.path.join('root', 'hehe', 'a.sql'))查看,拼接的路径是root\hehe\a.sql

     

    17、os.path.basename(path)
    去掉目录路径,返回最后的文件夹或文件名,如print(os.path.basename('D:\\python22\\1.txt')),返回1.txt ,print(os.path.basename(r'D:\python\byz-code')),返回byz-code文件夹

     

    18、os.walk(path)
    无论目录有多深,都可以拿到当前的目录所有的目录所有的文件,用法如下:

    name = '.mp4'
    for cur_dir, dirs, files in os.walk(r'C:\Users\sunshujiang\PycharmProjects\hua'):
    for file in files:
    if name in file:
    abs_path = os.path.join(cur_dir, file)
    print('找到了%s文件,路径是%s' % (file, abs_path))

    也可以封装成一个函数,用法如下:

    def search_file(name, path):
    for cur_dir, dirs, files in os.walk(path):
    for file in files:
    if name in file:
    abs_path = os.path.join(cur_dir, file)
    print('找到了%s文件,路径是%s' % (file, abs_path))


    search_file('.mp4', r'C:\Users\sunshujiang\PycharmProjects\hua')

    18、os.system('ifconfig')
    执行操作系统命令,在不需要获取到命令返回结果的情况下用,如os.system('dir'),命令输入正确的情况下会返回0,错误的命令会显示1以及红色的乱码,用法如下图:
    res = os.system('dir')
    print('res....', res)  # print出来的内容拿不到,打印出res.... 0


    19、os.popen(command)
    也可以执行操作系统命令,它是可以获取到命令的执行结果,如res= os.popen('ipconfig'),print(res),会打印出内存地址,如果想看到详细的内容要加上read方法,如print(res.read())
    print(os.path.getsize('b.txt'))  # 获取文件大小
    print(os.path.getatime('b.txt'))  # 最近一次访问时间
    print(os.path.getctime('b.txt'))  # 创建时间
    print(os.path.getmtime('b.txt'))  # 修改时间

     

    20、sys.version
    获取系统版本,print(sys.version)

     

    21、sys.platform
    获取当前执行环境的平台,print(sys.platform),如win32,linux

     

    22、sys.path
    获取环境变量列表,print(sys.path)

     

    23、sys.argv
    打印出来一个list,获取到运行这个python文件的时候传入的参数,如果不传入参数,list只有一个元素,即python文件的绝对路径

    inpu = sys.argv # 获取到运行这个python文件的时候传入的所有参数
    print(inpu)
    if len(inpu) >= 3:
    filename = inpu[1]
    content = inpu[2]
    f = open(filename, 'w', encoding='utf8')
    f.write(content)
    else:
    print('参数传入错误,e.g\n' 'python 20171104.py filename content')

    直接运行程序会走else,在Terminal里运行 python 20171104.py wjx jmx
    会把20171104.py,wjx,jmy依次加入到list里面,文件后面接再多的参数也能加进去,如下图:


    也可以python 20171104.py filename content,运行成功在当前目录下生成一个文件,文件里会看到content,这些是常用的方法,要重点掌握了

  • 相关阅读:
    数据库课程设计_购书管理系统代码(sql_c#及sql_java)
    你离不开的数组
    getchar的用法
    字母大小写转化
    C语言乘除颠覆你的世界观
    循环的执行过程、适用情况和常见错误
    斐波那契数和数小方块的类型题分析方法
    C语言刷题需要注意的地方
    函数那些事
    逻辑与、或、非的使用方法
  • 原文地址:https://www.cnblogs.com/laosun0204/p/7747764.html
Copyright © 2011-2022 走看看