2019年5月4日 模块介绍 os
if __name__=='__main__':
注意添加
有个代码名称为 test1.py,它的所在路径为 D:\test 下面。那我只需要完成以下步骤就可以把它作为模块 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为\r\n,linux为\n 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