• IO编程-----操作文件和目录


    参考学习:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001431925324119bac1bc7979664b4fa9843c0e5fcdcf1e000

    import os
    import shutil #此模块可以看做是os模块的一个补充
    
    print(os.uname())
    
    #关于os使用
    print(os.path) #输出这是一个模块
    
    #查看当前目录绝对路径
    print(os.path.abspath('.'))
    
    #创建一个目录
    print(os.mkdir('/home/wangxy/test'))
    
    #删除一个目录
    print(os.rmdir('/home/wangxy/test'))
    
    #把两个路径合成一个
    print(os.path.join('/home/wangxy/文档','test.py'))
    
    #拆分路径,把一个路径拆分为两部分,后一部分总是最后级别的目录或文件名
    print(os.path.split(os.path.abspath('')))
    
    #os.path.splitext()可以直接让你得到文件扩展名,很多时候非常方便
    print(os.path.splitext('/home/wangxy/文档/test.py'))
    
    #对文件改名
    os.rename('/home/wangxy/文档/test.py','/home/wangxy/文档/testrename.py')
    
    #删除文件
    os.remove('/home/wangxy/文档/Xiaomi.cvs')
    
    #复制文件
    shutil.copyfile('/home/wangxy/文档/testrename.py','/home/wangxy/文档/testcopy.py')
    
    print(os.path.isdir('/home/wangxy/音乐'))
    
    #列出目录下的所有目录
    #第一次后半部分使用os.path.isdir(x)始终得出结果为空,使用绝对路径后才成功判断
    print([x for x in os.listdir('/home/wangxy') if os.path.isdir(os.path.join('/home/wangxy/',x))])
    
    #列出所有的py文件
    #判断条件os.path.splitext(x)[1]=='.py', 此处不能遗漏 '.' 否则结果为空
    print([x for x in os.listdir('.') if os.path.isfile(os.path.join(os.path.abspath('.'),x)) and os.path.splitext(x)[1]=='.py'])

    练习题

    import os
    from datetime import datetime
    
    
    #练习,1.利用os模块编写一个能实现dir -l输出的程序。
    
    l=os.path.abspath('.')
    
    print('      Size     Last Modified  Name')
    print('------------------------------------------------------------')
    
    for f in os.listdir(l):
        size=os.path.getsize(f)
        '''
        getatime(f)表示获取文件最后一次访问时间
        getmtime(f)表示获取文件最后一次更新的时间
        datetime详解:http://www.cnblogs.com/tkqasn/p/6001134.html
        datetime.fromtimestamp:根据给定的时间戮,返回一个date对象
        strftime:格式化输出date对象
        '''
        time=datetime.fromtimestamp(os.path.getmtime(f)).strftime('%Y-%m-%d %H:%M')
        flag = '/' if os.path.isdir(f) else ''
    
        print('%10d   %s  %s%s'%(size,time,f,flag))
    
    
    #练习2:编写一个程序,能在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出相对路径。
    find=input('查找关键字:')
    
    def findFiles(str):
        findlist=0
        for dirpath, dirname, files in os.walk('.', topdown=True):
            for name in files:
                if name.find(str)>=0:
                    print(os.path.join(dirpath, name))
                    findlist+=1
        if findlist==0:
            print('没找到')
    
    
    findFiles(find)
  • 相关阅读:
    面试官是如何筛选简历?
    成为一名架构师得学习哪些知识?
    一个对话让你明白架构师是做什么的?
    教你一招用 IDE 编程提升效率的骚操作!
    80个让你笑爆肚皮的程序员段子,不好笑算我输!
    Java初学者最佳的学习方法以及会遇到的坑(内含学习资料)!
    作为程序员的你,一年看几本技术相关的书
    MEF 插件式开发之 DotNetCore 中强大的 DI
    MEF 插件式开发之 DotNetCore 初体验
    读 《CSharp Coding Guidelines》有感
  • 原文地址:https://www.cnblogs.com/wangxy92/p/8080819.html
Copyright © 2020-2023  润新知