2018/4/26 python 中os 模块的作用

  • https://blog.****.net/lygzscnt12/article/details/52470017     https://www.cnblogs.com/breakcircle/p/6261566.html   https://zhidao.baidu.com/question/360101661090517412.html

  • 2018/4/26 python 中os 模块的作用






  • 1. os.name()——判断现在正在实用的平台,Windows 返回 ‘nt‘; Linux 返回’posix‘

    2. os.getcwd()——得到当前工作的目录。

    3. os.listdir()——指定所有目录下所有的文件和目录名。例: 

    2018/4/26 python 中os 模块的作用

      以列表的形式全部列举出来,其中没有区分目录和文件。

    4. os.remove()——删除指定文件

    5. os.rmdir()——删除指定目录

    6. os.mkdir()——创建目录

      注意:这样只能建立一层,要想递归建立可用:os.makedirs()

    7. os.path.isfile()——判断指定对象是否为文件。是返回True,否则False

    8. os.path.isdir()——判断指定对象是否为目录。是True,否则False。例:    

        2018/4/26 python 中os 模块的作用

    9. os.path.exists()——检验指定的对象是否存在。是True,否则False.例:

    2018/4/26 python 中os 模块的作用

    10. os.path.split()——返回路径的目录和文件名。例:

    2018/4/26 python 中os 模块的作用

    此处只是把前后两部分分开而已。就是找最后一个‘/‘。看例子:

    2018/4/26 python 中os 模块的作用

    11. os.getcwd()——获得当前工作的目录(get current work dir)

    12. os.system()——执行shell命令。例:

    2018/4/26 python 中os 模块的作用

    注意:此处运行shell命令时,如果要调用python之前的变量,可以用如下方式:

    var=123
    os.environ[‘var‘]=str(var) //注意此处[]内得是 “字符串”
    os.system(‘echo $var‘)

    13. os.chdir()——改变目录到指定目录

    14. os.path.getsize()——获得文件的大小,如果为目录,返回0

    15. os.path.abspath()——获得绝对路径。例:

    2018/4/26 python 中os 模块的作用

    16. os.path.join(path, name)——连接目录和文件名。例:

    2018/4/26 python 中os 模块的作用

    17.os.path.basename(path)——返回文件名

    2018/4/26 python 中os 模块的作用

    18. os.path.dirname(path)——返回文件路径

    2018/4/26 python 中os 模块的作用

    使用os模块来获取当前文件的绝对路径和拼接路径。

    1
    2
    3
    4
    5
    6
    7
    8
        import os
        BASE_DIR = os.path.dirname(__file__#获取当前文件夹的绝对路径
        print BASE_DIR
        file_path = os.path.join(BASE_DIR, 'Test_Data'#获取当前文件夹内的Test_Data文件
        Test_Data = open(file_path, "r"#读取文件
        for line in Test_Data:
            print line
        Test_Data.close() #关闭文件

    1
    2
    3
    4
        import os
        BASE_DIR = os.path.dirname(os.path.dirname(__file__)) #获取当前文件夹的父目录绝对路径
        print BASE_DIR
        file_path = os.path.join(BASE_DIR,'C','Test_Data'#获取C文件夹中的的Test_Data文件

    19. 获得程序所在的实际目录
    1
    2
    3
    4
    5
    6
    7
    8
        import os
        BASE_DIR = os.path.dirname(__file__#获取当前文件夹的绝对路径
        print BASE_DIR
        file_path = os.path.join(BASE_DIR, 'Test_Data'#获取当前文件夹内的Test_Data文件
        Test_Data = open(file_path, "r"#读取文件
        for line in Test_Data:
            print line
        Test_Data.close() #关闭文件
    2018/4/26 python 中os 模块的作用
    import os
    import sys
    
    if __name__ == "__main__":
        print os.path.realpath(sys.argv[0])
        print os.path.split(os.path.realpath(sys.argv[0]))
        print os.path.split(os.path.realpath(sys.argv[0]))[0]
    2018/4/26 python 中os 模块的作用

    执行结果

    1
    2
    3
    /home/jihite/ftp/del.py
    (‘/home/jihite/ftp‘‘del.py‘)
    /home/jihite/ftp 
    • os.path.split()把目录和文件区分开
    1
    2
    3
    4
    5
    >>> import os
    >>> os.path.split("a/b/c/d")
    (‘a/b/c‘‘d‘)
    >>> os.path.split("a/b/c/d/")
    (‘a/b/c/d‘‘‘)

    *********************

    要执行的命令,相当于在Windows的cmd窗口中输入的命令。

    如果是 linux 系统的话就是linux 的 终端输入的命令了

    #coding=utf-8
    from selenium import webdriver
    import os
    driver = webdriver.Firefox()
    file_path = ‘file:///‘ + os.path.abspath(‘checkbox.html‘)
    driver.get(file_path)

    ---------------------

    • 在Python 的os 模块中提供了system()用来执行系统命令。

    比如我们要执行E:\\test_object\\目录
    下的all_test.py 文件,可以这样来实现:

    #coding=utf-8
    import os
    os.system(‘E:\\test_object\\all_test.py‘)

    或者

    import os
    os.chdir("E:\\test_object")
    os.system(‘Python all_test.py‘)

    -----------------

    • 通过os.listdir()可以获取目录下的所有文件
    • 通过os.path.getmtime(path)  #返回在此path下最后一次修改的时间
    • 通过os.path.join(path, name)连接目录和文件名

    #coding=utf-8
    import os
    #定义文件目录
    result_dir = ‘E:\\test_object\\report‘
    lists=os.listdir(result_dir)
    #重新按时间对目录下的文件进行排列
    lists.sort(key=lambda fn: os.path.getmtime(result_dir+"\\"+fn))
    print (‘最新的文件为: ‘+lists[-1])
    file = os.path.join(result_dir,lists[-1])
    print file

  • 一、os模块概述

    Python os模块包含普遍的操作系统功能。如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的。(一语中的)

  • 二、获取文件所在路径
  • import os
  • os.path.dirname(__file__)  获取当前文件的所在路径
  • print (os.path.dirname(os.path.dirname(__file__))) 获取当前文件的所在目录的上级路径
  • print (os.path.dirname(os.path.dirname(os.path.dirname(__file__))))  获取当前文件的所在目录的上级目录的上级路径三

  1. os.name     输出字符串指示正在使用的平台。如果是window 则用'nt'表示,对于Linux/Unix用户,它是'posix'。

    2、os.getcwd()

    函数得到当前工作目录,即当前Python脚本工作的目录路径。

    3、os.listdir()

    返回指定目录下的所有文件和目录名。

    >>> os.listdir(os.getcwd())
    ['Django', 'DLLs', 'Doc', 'include', 'Lib', 'libs', 'LICENSE.txt', 'MySQL-python-wininst.log', 'NEWS.txt', 'PIL-wininst.log', 'python.exe', 'pythonw.exe', 'README.txt', 'RemoveMySQL-python.exe', 'RemovePIL.exe', 'Removesetuptools.exe', 'Scripts', 'setuptools-wininst.log', 'tcl', 'Tools', 'w9xpopen.exe']
    >>> 

    4、os.remove()

    删除一个文件。

    5、os.system()

    运行shell命令。

    >>> os.system('dir')
    0
    >>> os.system('cmd') #启动dos

    6、os.sep 可以取代操作系统特定的路径分割符。

    7、os.linesep字符串给出当前平台使用的行终止符

    >>> os.linesep
    '\r\n'            #Windows使用'\r\n',Linux使用'\n'而Mac使用'\r'。
    >>> os.sep
    '\\'              #Windows
    >>> 

    8、os.path.split()

    函数返回一个路径的目录名和文件名

    >>> os.path.split('C:\\Python25\\abc.txt')
    ('C:\\Python25', 'abc.txt')

    9、os.path.isfile()和os.path.isdir()函数分别检验给出的路径是一个文件还是目录。

    >>> os.path.isdir(os.getcwd())
    True
    >>> os.path.isfile('a.txt')
    False

    10、os.path.exists()函数用来检验给出的路径是否真地存在

    >>> os.path.exists('C:\\Python25\\abc.txt')
    False
    >>> os.path.exists('C:\\Python25')
    True
    >>> 

    11、os.path.abspath(name):获得绝对路径

    12、os.path.normpath(path):规范path字符串形式

    13、os.path.getsize(name):获得文件大小,如果name是目录返回0L

    14、os.path.splitext():分离文件名与扩展名

    >>> os.path.splitext('a.txt')
    ('a', '.txt')

    15、os.path.join(path,name):连接目录与文件名或目录

    >>> os.path.join('c:\\Python','a.txt')
    'c:\\Python\\a.txt'
    >>> os.path.join('c:\\Python','f1')
    'c:\\Python\\f1'
    >>> 

    16、os.path.basename(path):返回文件名

    >>> os.path.basename('a.txt')
    'a.txt'
    >>> os.path.basename('c:\\Python\\a.txt')
    'a.txt'
    >>> 

    17、os.path.dirname(path):返回文件路径

    >>> os.path.dirname('c:\\Python\\a.txt')
    'c:\\Python'