zoukankan      html  css  js  c++  java
  • Python os 使用

    python os 使用

    1. 获取文件所在路径

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

    3. print (os.path.dirname(os.path.dirname(os.path.dirname(__file__))))  获取当前文件的所在目录的上级目录的上级路径

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

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

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

      os.listdir('.')

      ['DLLs', 'Doc', 'include', 'Lib', 'libs', 'LICENSE.txt', 'NEWS.txt', 'python.exe', 'python3.dll', 'python36.dll', 'pythonw.exe', 'Scripts', 'tcl', 'Tools', 'vcruntime140.dll']

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

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

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

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

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

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

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

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

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

      os.path.split('c:/')
      ( ' c:/ ' , ' ' )

    此处只是把前后两部分分开而已,就是找最后一个‘/‘,如

      os.path.split('c:/user/python')

      ( ' c:/user ' , ' python '  )

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

      os.getcwd( )

      'C:\Users\~\AppData\Local\Programs\Python\Python36'

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

    技术分享

    注意:此处运行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()——获得绝对路径。例:

    技术分享

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

    技术分享

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

    技术分享

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

    技术分享

    19. 获得程序所在的实际目录

    复制代码
    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]
    复制代码

    执行结果

    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

  • 相关阅读:
    数据库事务隔离级别-- 脏读、幻读、不可重复读
    【洛谷7518】[省选联考 2021 A/B 卷] 宝石(树上倍增+并查集)
    【CF666D】Chain Reaction(暴搜+细节讨论)
    【洛谷5064】[Ynoi2014] 等这场战争结束之后(操作树+值域分块)
    【洛谷7437】既见君子(状压+矩阵树定理)
    【洛谷5046】[Ynoi2019 模拟赛] Yuno loves sqrt technology I(分块)
    【LOJ2462】「2018 集训队互测 Day 1」完美的集合(树上连通块问题+扩展卢卡斯)
    【洛谷4339】[ZJOI2018] 迷宫(神仙题)
    【CF639E】Bear and Paradox(贪心+二分)
    【洛谷5444】[APIO2019] 奇怪装置(数论)
  • 原文地址:https://www.cnblogs.com/banluxinshou/p/7608240.html
Copyright © 2011-2022 走看看