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))
  • 相关阅读:
    命令拷屏之网络工具
    PHP 设计模式 笔记与总结(1)命名空间 与 类的自动载入
    Java实现 计蒜客 1251 仙岛求药
    Java实现 计蒜客 1251 仙岛求药
    Java实现 计蒜客 1251 仙岛求药
    Java实现 蓝桥杯 算法训练 字符串合并
    Java实现 蓝桥杯 算法训练 字符串合并
    Java实现 蓝桥杯 算法训练 字符串合并
    Java实现 LeetCode 143 重排链表
    Java实现 LeetCode 143 重排链表
  • 原文地址:https://www.cnblogs.com/xiangtingshen/p/10436180.html
Copyright © 2011-2022 走看看