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



posted @ 2019-05-04 10:50  小圣庄  阅读(144)  评论(0编辑  收藏  举报