zoukankan      html  css  js  c++  java
  • os模块(二十)

    os模块是与操作系统交互的一个接口

    os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径
    os.chdir("dirname")  改变当前脚本工作目录;相当于shell下cd
    os.curdir  返回当前目录: ('.')
    os.pardir  获取当前目录的父目录字符串名:('..')
    os.makedirs('dirname1/dirname2')    可生成多层递归目录
    os.removedirs('dirname1')    若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
    os.mkdir('dirname')    生成单级目录;相当于shell中mkdir dirname
    os.rmdir('dirname')    删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname
    os.listdir('dirname')    列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
    os.remove()  删除一个文件
    os.rename("oldname","newname")  重命名文件/目录
    os.stat('path/filename')  获取文件/目录信息
    os.sep    输出操作系统特定的路径分隔符,win下为"\",Linux下为"/"
    os.linesep    输出当前平台使用的行终止符,win下为"
    ",Linux下为"
    "
    os.pathsep    输出用于分割文件路径的字符串 win下为;,Linux下为:
    os.name    输出字符串指示当前使用平台。win->'nt'; Linux->'posix'
    os.system("bash command")  运行shell命令,直接显示
    os.environ  获取系统环境变量
    os.path.abspath(path)  返回path规范化的绝对路径
    os.path.split(path)  将path分割成目录和文件名二元组返回
    os.path.dirname(path)  返回path的目录。其实就是os.path.split(path)的第一个元素
    os.path.basename(path)  返回path最后的文件名。如何path以/或结尾,那么就会返回空值。即os.path.split(path)的第二个元素
    os.path.exists(path)  如果path存在,返回True;如果path不存在,返回False
    os.path.isabs(path)  如果path是绝对路径,返回True
    os.path.isfile(path)  如果path是一个存在的文件,返回True。否则返回False
    os.path.isdir(path)  如果path是一个存在的目录,则返回True。否则返回False
    os.path.join(path1[, path2[, ...]])  将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
    os.path.getatime(path)  返回path所指向的文件或者目录的最后存取时间
    os.path.getmtime(path)  返回path所指向的文件或者目录的最后修改时间
    os.path.getsize(path) 返回path的大小


    removedir:若目录不为空则不允许删除

    import os
    
    print(os.getcwd()) # F:Python3os_module
    os.chdir('test1')
    print(os.getcwd()) # F:Python3os_module	est1
    os.chdir('..')  # 再返回到上一层,当前目录的父目录
    print(os.getcwd()) # F:Python3os_module
    
    #os.mkdir('test2')
    #os.remove('test2/dd.py')
    #os.removedirs('test2')
    print(os.listdir('.')) # ['os_test.py', 'test1', '__init__.py']
    print(os.stat('test1/sss.py'))
    
    print(os.system('dir'))
    
    print(os.path.basename('./test1/sss.py'))  # sss.py
    print(os.path.dirname('./test1/sss.py'))    # ./test1
    print(os.path.split('./test1/sss.py'))  # ('./test1', 'sss.py')
    
    a = './test1'
    b = 'sss.py'
    print(os.path.join(a,b)) # ./test1sss.py 路径拼接

     输出:

    F:Python3os_module
    F:Python3os_module	est1
    F:Python3os_module
    ['os_test.py', 'test1', 'test2', '__init__.py']
    os.stat_result(st_mode=33206, st_ino=3096224743900082, st_dev=536793, st_nlink=1, st_uid=0, st_gid=0, st_size=10, st_atime=1551150244, st_mtime=1551150244, st_ctime=1551150188)
     ������ F �еľ�û�б�ǩ��
     �������� 0008-30D9
    
     F:Python3os_module ��Ŀ¼
    
    2019-02-26  11:19    <DIR>          .
    2019-02-26  11:19    <DIR>          ..
    2019-02-26  11:19               663 os_test.py
    2019-02-26  11:04    <DIR>          test1
    2019-02-26  11:02    <DIR>          test2
    2019-02-26  10:41                 0 __init__.py
                   2 ���ļ�            663 �ֽ�
                   4 ��Ŀ¼ 147,671,588,864 �����ֽ�
    0
    sss.py
    ./test1
    ('./test1', 'sss.py')
    ./test1sss.py
    # bin.py 文件
    import os
    print(__file__)     # F:/Python3/module_test/bin/bin.py pycharm生成的文件名,实际上只是 bin.py
    print(__name__)
    print(os.path.dirname(__file__)) # F:/Python3/module_test/bin bin.py的文件路径
    print(os.path.dirname(os.path.dirname(__file__))) # F:/Python3/module_test 再往上一层
    BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))  # os.path.abspath 绝对路径
                                                                            # 不管在终端还是pycharm都可以使用
    print(BASE_DIR) # cal.py文件所在的路径
    import sys
    sys.path.append(BASE_DIR) # 添加环境变量找到cal.py文件
    import cal
    print(cal.add(1,2))
  • 相关阅读:
    SQL SqlParameter
    C# 迭代器与yield关键字
    ADO.NET调用SQL存储过程
    C# XML
    C# MDI应用程序
    LINQ 基础
    C# 文件操作
    C# 操作注册表
    SQL从SQL SERVER中获取数据库结构信息
    Linux发展史
  • 原文地址:https://www.cnblogs.com/xiangtingshen/p/10436180.html
Copyright © 2011-2022 走看看