• Python OS


    >>> os.getcwd() <<<获取当前文件夹路径
    'C:\Users\fengx\Desktop\python\1012_basic'
    >>> os.listdir() <<<列出当前路径下所有文件和文件夹
    ['1.py', '2.py', '29_1.py', '3.py', 'file', 'haha.txt', '通讯录程序.py']
    >>> os.path.isdir('file') <<<判断是否是文件夹,只能判断当前路径下的文件是否为文件夹(此处需要特别注意,如果要判断文件夹时,要chdir到要判断的路径下才可以)
    True
    >>> os.path.isdir('1.py') <<<
    False
    >>> os.pardir <<<返回上一级目录
    '..'
    >>> os.listdir() 
    ['1.py', '2.py', '29_1.py', '3.py', 'file', 'haha.txt', '通讯录程序.py']
    >>> os.getcwd() 
    'C:\Users\fengx\Desktop\python\1012_basic'
    >>> os.sep <<<分隔符
    '\'
    >>> os.chdir('C:/Users/fengx/Desktop/python/1012_basic/') <<<修改目录
    >>> os.curdir <<<当前目录
    '.'
    >>> os.pardir <<<
    '..'
    >>> os.path.isdir('file')
    True
    >>> os.path.isdir('1.py')
    False
    >>>

    >>> os.path.splitext('uuid.py')[1] <<<splitext,把参数分割成元组tuple

    '.py'

    #######################os.walk()########################

    os.walk() 方法用于通过在目录树中游走输出在目录中的文件名,向上或者向下。

    os.walk() 方法是一个简单易用的文件、目录遍历器,可以帮助我们高效的处理文件、目录方面的事情。

    在Unix,Windows中有效。

    语法

    walk()方法语法格式如下:

    os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])

    参数

    • top -- 是你所要遍历的目录的地址, 返回的是一个三元组(root,dirs,files)。

    • topdown --可选,为 True,则优先遍历 top 目录,否则优先遍历 top 的子目录(默认为开启)。如果 topdown 参数为 True,walk 会遍历top文件夹,与top 文件夹中每一个子目录。

    • onerror -- 可选, 需要一个 callable 对象,当 walk 需要异常时,会调用。

    • followlinks -- 可选, 如果为 True,则会遍历目录下的快捷方式(linux 下是 symbolic link)实际所指的目录(默认关闭)。

    返回的三元组:

    root 所指的是当前正在遍历的这个文件夹的本身的地址

    dirs 是一个 list ,内容是该文件夹中所有的目录的名字(不包括子目录)

    files 同样是 list , 内容是该文件夹中所有的文件(不包括子目录)

    范例:

    >>> a=os.walk(os.getcwd())
    >>> a
    <generator object walk at 0x0682FEB0>
    >>> os.getcwd()
    'C:\Users\fengx\Desktop\python\1012_basic'
    >>> a
    <generator object walk at 0x0682FEB0>
    >>> for i in a:
        print(i)
    
        
    ('C:\Users\fengx\Desktop\python\1012_basic', ['file'], ['1.py', '2.py', '29_1.py', '3.py', '30.py', '30_0.py', '30_1.py', '30_2.py', '30_4.py', '34.py', 'haha.txt', '通讯录程序.py'])
    ('C:\Users\fengx\Desktop\python\1012_basic\file', [], ['haha.txt', 'haha1.txt', 'haha2.txt'])

    在Windows的路径C:/Users/fengx/Desktop/python/1012_basic下,存在一堆.py文件和一个叫file的文件夹,file文件夹下没有其他文件夹了,只有haha.txt等txt文件

    因为返回的dirs和files都是列表形式,且dirs是i[1],files是i[2],则我们可以通过for循环,获取文件夹下的文件夹名称和文件名称

     ################################

    import easygui as g
    import os
    
    file_path = g.fileopenbox(default='*.txt')
    
    with open(file_path) as f:
        title=os.path.basename(file_path)
        msg='文件【%s】的内容如下:'%title
        text=f.read()
        g.textbox(msg,title,text)
    title=os.path.basename(file_path)
    此处的os.path.basename只会显示文件名

    >>> title
    '新建文本文档.txt'
    >>> file_path
    'C:\Users\fengx\Desktop\python\exersice\小甲鱼课后习题\35\新建文本文档.txt'
    >>>

     ##########################################

    >>> import os
    >>> data = os.popen('ipconfig').read()
    >>> print(data)
    

      得到windows的ipconfig的内容

    只要是命令行能敲的,都可以用python做自动化

  • 相关阅读:
    Http学习(一)
    Android Studio 创建aar包与引用
    C语言模块化编译介绍
    程序结构和分支语句介绍
    数据类型、常量、变量、printf、scanf和运算符
    第一个C语言程序
    Xcode相关整理
    Java: IO 学习小结
    Java: RandomAccessFile
    Java: IO 字符流
  • 原文地址:https://www.cnblogs.com/vigossr/p/9803647.html
Copyright © 2020-2023  润新知