• os


    python编程时,经常和文件、目录打交道,这是就离不了os模块。os模块包含普遍的操作系统功能,与具体的平台无关。以下列举常用的命令

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

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

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

                  

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

    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()——返回路径的目录和文件名。例:

         

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

         

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

    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.spilit()把目录和文件区分开

    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', '')

        遍历目录,其实python的os模块已经给出了一个函数。

        generator = os.walk(top,topdown=True,onerror=None)

        它返回的对象是一个generator类型对象,我们要使用for语句来遍历它:

    1 generator = os.walk(r"E:Pythonpro")
    2 for i in generator:
    3     print i

        我们会发现,i 实际上是一个三元tuple,分别是此时的目录,此目录下的文件夹,此目录下的文件。所以我们上面的getfile函数可以简化如下:

    1 def getfile(path):
    2     generator = os.walk(path)
    3     for (now_dir, _, file_list) in generator:
    4         for file in file_list:
    5             file = os.path.join(now_dir, file)
    6             replace_str(file, "abc", "")
  • 相关阅读:
    根据汉字获取其的首个字母
    jqure获取单选按钮的值(比如性别)
    dataset 和DataTable的用法
    利用ExcelDataReader封装类 导入表格数据
    批量导入数据.net
    一个按下键盘触发事件的例子
    Build Error 6041: Internal build error
    Word 2010巧妙绘制各种分割线的方法(图文)
    vbscript multiple line syntax
    Update msi using vbscript
  • 原文地址:https://www.cnblogs.com/lly-lly/p/5522988.html
Copyright © 2020-2023  润新知