zoukankan      html  css  js  c++  java
  • 20180209-os模块

    下面将学习关于os模块的相关操作

      项目练习的目录结构如下:所有的操作都是基于os_exercise.py模块

      

      1.获取当前的Python脚本的工作目录路径 os.getcwd()

    # 1.获取当前目录
    dir = os.getcwd()
    print('获取当前python脚本工作目录:',dir)
    # 输出
    # 获取当前python脚本工作目录: /Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os

      2.获取指定目录下的所有文件和目录,os.listdir(dirname)  如果不传dirname,则返回当前python脚本的工作目录下的文件和目录名

    # 2.返回执行目录下所有的文件和目录
    li = os.listdir()
    print('获取当前python工作目录下的文件名名和目录名,',li)
    # 输出
    # 获取当前python工作目录下的文件名名和目录名, ['os_exercise.py']
    
    li = os.listdir('../packages')
    print('获取packages目录下所有的文件名和目录名:',li)
    # 输出
    # 获取packages目录下所有的文件名和目录名: ['.DS_Store', 'my_proj']

      3.删除文件,os.remove(filename)

    # 3.删除一个文件 注意:这里只能删除文件,不能删除目录
    os.remove('os_exercise02.py')
    #如果文件不存在则报错
    os.remove('os_exercise02.py')

    Traceback (most recent call last):=
      File "/Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os/os_exercise.py", line 25, in <module>
        os.remove('os_exercise02.py')
    FileNotFoundError: [Errno 2] No such file or directory: 'os_exercise02.py'

      4.检测filename是否是个文件,os.path.isfile(filename)

    # 4.检测filename是否是一个文件 os.path.isfile(filename)
    ret = os.path.isfile('os_exercise.py')
    print('检测filename是否是一个文件:',ret)
    # 输出
    # 检测filename是否是一个文件: True

      5.检测dirname是否是一个目录,os.path.isdir(dirname)

    # 5.检测dirname是否是一个目录 os.path.isdir(dirname)
    ret = os.path.isdir('../os')
    print('检测dirname是否是一个目录:',ret)
    # 输出
    # 检测dirname是否是一个目录: True

      6.判断filepath是否是一个绝对路径,os.path,isabs(filepath)

    # 6.判断filepath是否是绝对路径,os.path.isabs(path)
    ret = os.path.isabs('os_exercise.py')
    print('判断os_exercise.py是否是绝对路径:',ret)
    # 输出
    # 判断os_exercise.py是否是绝对路径: False
    
    ret = os.path.isabs('/Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os/os_exercise.py')
    print('判断filepath是否是绝对路径:',ret)
    # 输出
    # 判断path是否是绝对路径: True

      7.判断filepath是否真实存在,os.path.exists(filepath)

    # 7.判断filepath是否真实存在 os.path.exists(filepath)
    ret = os.path.exists('os_exercise.py')
    print('判断os_exercise.py是否真实存在:',ret)
    # 输出
    # 判断os_exercise.py是否真实存在: True
    
    ret = os.path.exists('/Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os')
    print('判断os目录是否真实存在:',ret)
    # 输出
    # 判断os目录是否真实存在: True
    
    ret = os.path.exists('../os')
    print('判断os目录是否真实存在:',ret)
    # 输出
    # 判断os目录是否真实存在: True

       8.获取filepath的目录名和文件名,os.path.split(filepath)

    # 8.获取filepath的目录名和文件名 os.path.split(filepath)
    ret = os.path.split('/Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os/os_exercise.py')
    print('获取filepath的目录名和文件名:',ret)
    # 输出
    # 取filepath的目录名和文件名: ('/Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os', 'os_exercise.py')

      9.分离filepath的扩展名,os.path.splitext(filepath)

    # 9.分离filepath的扩展名 os.path.splitext(filepath)
    ret = os.path.splitext('/Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os/os_exercise.py')
    print('分离filepath的扩展名:',ret)
    # 输出
    # 分离filepath的扩展名: ('/Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os/os_exercise', '.py')

      10.获取filepath的路径名 os.path.dirname(filepath)

    # 10.获取filepath的路径名 os.path.dirname(filepath)
    ret = os.path.dirname('/Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os/os_exercise.py')
    print('获取filepath的路径名:',ret)
    # 输出
    # 获取filepath的路径名: /Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os

      11.获取fielname的绝对路径 os.path.abspath(filename)

    # 11.获取filename的绝对路径 os.path.abspath(filename)
    ret = os.path.abspath('os_exercise.py')
    print('获取os_exercise.py的绝对路径',ret)
    # 输出
    # 获取os_exercise.py的绝对路径 /Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os/os_exercise.py

      12.获取filepath的文件名 os.path.basename(filepath)

    # 12.获取filepath的文件名 os.path.basename(filepath)
    ret = os.path.basename('/Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os/os_exercise.py')
    print('获取filepath的文件名:',ret)
    # 输出
    # 获取filepath的文件名: os_exercise.py

      13.运行shell命令 os.system(shell),由于终端每执行shell命令都会有一个状态

    # 13.执行shell脚本 os.system(shell)
    ret = os.system('ls')
    print('执行shell脚本 ls命令:',ret)
    # 输出
    # os_exercise.py
    # 执行shell脚本 ls命令: 0

      14.获取当前平台使用的行终止符 os.linesep    windows使用' ',linux and Mac 使用' '

        

      15.获取你当前正在使用的平台名称 os.name 对于windows则是'nt',而对于linux/Mac则是'posix'

    # 15.获取你正在使用的平台名称  对于windows则是'nt',而对于linux/Mac则是'posix'
    ret = os.name
    print('获取你正在使用的平台名称:',ret)
    # 输出
    # 获取你正在使用的平台名称: posix

      16.文件/目录重命名 os.rename(old,new)   注意:如果旧文件/目录不存在,则报错

    #16.重命名文件/目录 如果旧文件/目录不存在,则报错
    ret = os.rename('os_exercise01.py','os_exercise02.py')
    ret = os.rename('os_exercise','os_exercise02')

      17.创建多级目录 os.makedirs(dirname) 注意:如果目录已存在则会报错,并且这里只能创建目录

    #17.创建多级目录 os.makedirs(dirname) 注意:这里只是创建目录,不会创建文件,如果目录已存在,则会报错
    ret = os.makedirs(r'dir/makedir/simple')
    ret = os.makedirs(r'dir/makedir/simple')
    Traceback (most recent call last):
      File "/Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os/os_exercise.py", line 128, in <module>
        ret = os.makedirs(r'dir/makedir/simple')
      File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/os.py", line 241, in makedirs
        mkdir(name, mode)
    FileExistsError: [Errno 17] File exists: 'dir/makedir/simple

      18.创建单个目录dirname  os.mkdir(dirname)    用法同上,这里不在赘述 

      19.获取文件属性 os.stat(filepath),常用就是获取文件大小

    # 19.获取文件属性 os.stat(filepath)
    ret = os.stat('os_exercise.py')
    print('获取文件属性 ret = ',ret)
    # 输出
    # 获取文件属性 ret =  os.stat_result(st_mode=33188, st_ino=8602852833, st_dev=16777220, st_nlink=1, st_uid=501, st_gid=20, st_size=6434, st_atime=1518146428, st_mtime=1518146428, st_ctime=1518146428)

      20.获取文件大小  os.path.getsize(filename)

    # 20.获取文件大小 os.path.getsize(filename)
    ret = os.path.getsize('os_exercise.py')
    print('获取文件大小: ',ret)
    # 输出
    # 获取文件大小:  6675

      21.结合目录和文件名 os.path.join(dirname,filename)

    # 21.结合目录名和文件名 os.path.join(dirname,filename)
    ret = os.path.join('/Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os/','os_exercise01.py')
    print('结合文件名和目录名: ret = ',ret)
    # 输出
    # 结合文件名和目录名: ret =  /Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os/os_exercise01.py

      22.改变工作目录到dirname   os.chdir(dirname)

    # 获取当前的工作目录
    ret = os.getcwd()
    print('获取当前的工作目录:',ret)
    # 输出
    # 获取当前的工作目录: /Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os
    
    
    ret = os.chdir('../module')
    print('改变工作目录到dirname:',ret)
    
    # 获取当前的工作目录
    ret = os.getcwd()
    print('获取当前的工作目录:',ret)
    # 输出
    # 获取当前的工作目录: /Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/module

      

  • 相关阅读:
    SqlServer事务语法及使用方法
    mysql解决自动断开8小时未曾用过的链接
    JIRA license申请和语言包下载
    String literal is not properly closed by
    android开发 NDK 动态链接多个第三方库(so)
    vim字符串替换
    VMware tools的用途及安装[跨系统文件拖拽]
    十大高明的Google搜索技巧
    安装ADT-20.0.3的时候产生org.eclipse.cdt.feature.group 0.0.0' but it could not be ..
    [Android NDK]修复/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory 问题
  • 原文地址:https://www.cnblogs.com/it-q/p/8434507.html
Copyright © 2011-2022 走看看