• 2019年5月4日 模块介绍 os


    if __name__=='__main__':
    注意添加

    有个代码名称为 test1.py,它的所在路径为 D: est 下面。那我只需要完成以下步骤就可以把它作为模块 import 到其他代码中了。

    •  1.import sys
    •  2.sys.path.append("D:\test")#临时修改
    • 如果要永久修改,需要修改 windows的环境变量-系统变量
    def add(x,y):
        return x+y+100
    
    import sys,os
    # sys.path.append(r"/Users/miaowu/PycharmProjects/untitled/study/20190501")#加入绝对路径 但是不推荐,因为别人电脑不一定有相同路径
    
    
    import sys
    sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))#找到bin的上一级)))#推荐使用os中的path.dirname方法,找到的是相对路径
    
    from my_module import cal  #从my_module中寻找到cal
    from my_module import main #因为上面一句解释器已经认识了my_module路径
    # from cal import * #不推荐,*代表全部
    print(cal.add(3,5)) #上面又定义了个add,但是被from * 里面的程序中的add覆盖了
    print(cal.reduce(2,5))
    
    main.s()
    
    print(__name__)
    print(__file__)#pycharm 打印出来绝对路径,应该只打印出bin.py
    print(os.path.abspath(__file__)) #abspath方法:在任何终端上都显示出绝对路径
    print(os.path.dirname(os.path.abspath(__file__))) #找到bin所在的路径
    print(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))#找到bin的上一级


    BASE_DIR=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

    OS模块:是与操作系统交互的一个接口

    import os
    a=os.getcwd()#获得当前工作目录
    print('1.os.getcwd()获得当前工作目录:%s'%a)
    
    os.chdir('venv')#改变当前工作目录,注意智能找同级的
    print('2.1. os.chdir("路径")改变当前脚本工作目录%s'%os.getcwd())
    
    os.chdir('.')#返回当前目录
    print('2.2. chdir(".")1个点代表返回当前目录,用法同os.curdir:%s'%os.getcwd())
    
    os.chdir('..')#返回上一级工作目录
    print('2.3. chdir("..")两个点代表返回上一级目录,用法同os.pardir: %s'%os.getcwd())
    
    os.makedirs('dir1/dir2',exist_ok=1)#
    print('3. os.makedirs 生成多层递归目录,例如这里生成点dir1和下面点dir2')
    
    os.removedirs('dir1/dir2')#
    print('4. os.removedirs 删除指定目录,如果为空则删除,并递归上一级目录,如果也为空,则继续删除,以此类推,因为dir1是空文件夹所以会删除,如果有个随意点文本则dir1不会删除')
    
    os.mkdir('dir3')
    print('5. os.mkdir 生成单级目录')
    
    os.rmdir('dir3')
    print('6. os.rmdir 删除单级目录')
    
    b=os.listdir(os.getcwd())
    print('7. os.listdir 理出指定目录下点所有文件和子目录,并以列表方式打印:%s'%b)
    
    # os.remove('abc')
    print('8. os.remove 删除同级目录下的abc文件')
    
    os.rename('new','new2')
    os.rename('new2','new')
    print('9. os.rename(oldname,newname)修改名字')
    
    c=os.stat('study/test1.py')
    print('10. os.stat查看文件状态:',c)#atime 用户上一次查看时间,mtime 用户最近一次修改时间,ctime文件创建时间,这些数字都是字符串,需要int转,这里打印不能用%s 方法
    
    d=os.sep#路径分隔符
    print('11. os.sep输出系统指定的路径分隔符:: %s'%d)#windows为\,linux为/
    
    e=os.linesep#行终止符
    print('12. os.linesep 输出系统指定的行终止符:  %s'%e)#windows为
    ,linux为
    
    
    f=os.pathsep #输出用于分割文件路径的字符串 win为;linux为:
    print('13. os.pathsep 输出用于分割文件路径的字符串:%s'%f)
    
    # g=os.system('python')
    print('14. os.system 运行shell下的命令')
    
    # h=os.environ
    print('15. os.environ 获取系统的环境变量')
    
    
    i=os.path.split('study')#将path分割成目录和文件名二元祖返回
    print('16.1. os.path.split() 将path分割成目录和文件名二元祖返回:',i)
    j=os.path.dirname('study')
    print('16.2. os.path.dirname() 返回path目录,也就是split的第一个元素:',j)
    k=os.path.basename('study')
    print('16.3. os.path.basename() 返回path最后的文件名,也就是split的第二个元素:',k)
    
    l=os.path.exists('study')
    print('17. os.path.exists()如果path路径存在则返回T,不然返回F: %s'%l)
    
    m=os.path.isabs('study')
    print('18. os.path.isabs()如果path路径是绝对路径则返回T,不然返回F: %s'%m)
    
    n=os.path.isfile('study')
    print('19. os.path.isfile()如果path是一个存在的文件,返回T,不然返回F: %s'%n)
    
    o=os.path.isdir('study')
    print('20. os.path.isdir()如果path是一个存在的目录,返回T,不然返回F: %s'%o)
    
    p=os.path.join(j,k) #路径拼接,需要使用这个,将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
    print('21. os.path.join()路径拼接的方法:  %s'%p)
    
    q=os.path.getatime('study')
    r=os.path.getctime('study')
    s=os.path.getmtime('study')
    t=os.path.getsize('study')
    print('22. 最后存取时间getatime:%s,创建时间getctime:%s,修改时间getmtime:%s,文件大小getsizi:%s'%(q,r,s,t))

     >>>

    1.os.getcwd()获得当前工作目录:/Users/miaowu/PycharmProjects/untitled
    2.1. os.chdir("路径")改变当前脚本工作目录/Users/miaowu/PycharmProjects/untitled/venv
    2.2. chdir(".")1个点代表返回当前目录,用法同os.curdir:/Users/miaowu/PycharmProjects/untitled/venv
    2.3. chdir("..")两个点代表返回上一级目录,用法同os.pardir: /Users/miaowu/PycharmProjects/untitled
    3. os.makedirs 生成多层递归目录,例如这里生成点dir1和下面点dir2
    4. os.removedirs 删除指定目录,如果为空则删除,并递归上一级目录,如果也为空,则继续删除,以此类推,因为dir1是空文件夹所以会删除,如果有个随意点文本则dir1不会删除
    5. os.mkdir 生成单级目录
    6. os.rmdir 删除单级目录
    7. os.listdir 理出指定目录下点所有文件和子目录,并以列表方式打印:['.idea', '__pycache__', 'new', 'study', 'venv']
    8. os.remove 删除同级目录下的abc文件
    9. os.rename(oldname,newname)修改名字
    10. os.stat查看文件状态: os.stat_result(st_mode=33188, st_ino=5514742, st_dev=16777220, st_nlink=1, st_uid=501, st_gid=20, st_size=668, st_atime=1555592722, st_mtime=1555592722, st_ctime=1555592722)
    11. os.sep输出系统指定的路径分隔符:: /
    12. os.linesep 输出系统指定的行终止符:

    13. os.pathsep 输出用于分割文件路径的字符串::
    14. os.system 运行shell下的命令
    15. os.environ 获取系统的环境变量
    16.1. os.path.split() 将path分割成目录和文件名二元祖返回: ('', 'study')
    16.2. os.path.dirname() 返回path目录,也就是split的第一个元素:
    16.3. os.path.basename() 返回path最后的文件名,也就是split的第二个元素: study
    17. os.path.exists()如果path路径存在则返回T,不然返回F: True
    18. os.path.isabs()如果path路径是绝对路径则返回T,不然返回F: False
    19. os.path.isfile()如果path是一个存在的文件,返回T,不然返回F: False
    20. os.path.isdir()如果path是一个存在的目录,返回T,不然返回F: True
    21. os.path.join()路径拼接的方法: study
    22. 最后存取时间getatime:1556978695.0,创建时间getctime:1556978703.0,修改时间getmtime:1556978703.0,文件大小getsizi:340



  • 相关阅读:
    channel 功能解析
    Docker 使用 Jenkins 镜像创建容器(转)
    使用Gson将Object转String出现u003d 的原因
    Gradle基础
    JAVA HashMap 和 HashSet 的区别
    ViewStub基本用法
    String类的内存分配
    区块链--资产数字化之路
    选择排序
    冒泡排序
  • 原文地址:https://www.cnblogs.com/python1988/p/10807606.html
Copyright © 2020-2023  润新知