os模块

###与当前电脑操作系统交互
###内置模块

import os

#######文件夹相关:
#递归创建文件
# os.makedirs('app/a/b/c')  *****
#递归删除文件,当这个要删除的目录里面有文件,就停止删除
# os.removedirs('app/a/b/c') **

#创建单个目录
# os.mkdir('app/a/cc')  *****
##删除单个文件,如果目录里有东西就报错,不删除
# os.rmdir('app/a/cc')

#查看某个目录下的内容  ****
# l = os.listdir('app/a')
# print(l)

#######文件相关
# 删除,删除了就不能恢复 *****
# os.remove()
# 修改文件的名字         *****
# os.rename()

##################
###   跟路径相关   ###   ********************
'''
必会的:
os.path.join
os.path.basedir
os.path.abspath
os.path.basename
os.path.dirname
os.remove
os.rename
os.listdir
'''
# 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略      *****
s = os.path.join(r'E:\practice',r'app',r'a')
print(s) #E:\practice\app\a

##获取当前文件的绝对路径 *****
print(os.path.abspath('app')) #E:\practice\app

#返回path的目录。其实就是os.path.split(path)的第一个元素  *****
print(os.path.dirname(r'E:\practice\app'))
#E:\practice

#返回path最后的文件名。如何path以/或\结尾,那么就会返回空值,即os.path.split(path)的第二个元素。 *****
print(os.path.basename(r'E:\practice\app'))
#app

### 如果path存在,返回True;如果path不存在,返回False  *****
print(os.path.exists(r'E:\practice\app'))


##将这个文件的绝对路径分成目录与文件,注意加r
print(os.path.split(r'E:\practice\app'))
#('E:\\practice\\old_boy\\day14-模块', 'app')

# 如果path是绝对路径,返回True
print(os.path.isabs(r'E:\practice\app'))


#返回path的大小<br></em>   ***
#实际上获取的是文件的大小,
# 坑:获取目录大小的时候————
# 一般获取目录大小的时候,将里面所有文件的大小累加!!!
print('目录大小:',os.path.getsize('E:\practice'))
print('文件大小:',os.path.getsize('E:\practice\p'))

#######操作系统相关——了解下
print(os.sep) # \
print(repr(os.sep)) # '\\'
# 换行符
print(repr(os.linesep))#'\r\n'
#环境变量的分割
print(repr(os.pathsep)) #';'

###
# print(os.system('dir'))#中文乱码

# 在写程序的时候可以下发操作系统的指令
# 在linux系统上相当于发shell命令  *****
print(os.popen('dir').read())

#获取系统环境变量
# print(os.environ)

# 获取当前工作目录,即当前python脚本工作的目录路径    ***
print(os.getcwd())

# 改变当前脚本工作目录;相当于shell下cd
# 路径切换  少用
os.chdir("E:\practice")

# 返回当前目录: ('.')
# os.curdir
# 获取当前目录的父目录字符串名:('..')
# os.pardir

 

posted on 2019-05-20 22:22  江湖乄夜雨  阅读(102)  评论(0编辑  收藏  举报