查看在哪个目录下
>>> import os
>>> os.getcwd()
'C:\\Users\\Administrator.THEEND-PC'
改变目录
>>> os.chdir("e:\\")
>>> os.getcwd()
'e:\\'
查看当前目录下有什么文件:
>>> os.getcwd()
'e:\\'
>>> os.listdir()
['$RECYCLE.BIN', '17643'
分支管理.txt', '工作文件
**#查看执行目录下有什么文件,只显示一层,并不会显示所有的子目录**
>>> os.listdir("C:\\")
['$360Section', '$Recycle.Bin', '
Program Files', 'Program Files (x
判断是文件还是目录
>>> import os.path
>>> os.path.isdir("e:\\svn\\") #判断文件夹在不在
True
>>> os.path.isdir("e:\\sw")
False
>>> os.path.isfile("e:\\a.txt") #判断文件在不在
True
统计一个目录下(一层目录),有多少个文件,有多少个目录
提示: 用os.list 和判断文件和路径的api来进行计数。
1.定义文件计数的变量
2.定义文件夹计数的变量并赋值0
3.使用os.listdir() 获取所有的文件和目录名称,这个返回值是列表
4.使用for进行遍历,使用os.path.isdir和isfile来分别判断是文件还是目录,如果是文件,则在文件计数的变量上+1,否则在目录计数的变量上加一
5.输出统计结果:文件计数和目录计数的变量值
import os #导入操作系统
import os.path
file_count=0
dir_count=0
for i in os.listdir("e:\\"):
print("取出的内容:",i) #取出的内容:目录
if os.path.isfile("e:\\"+i): #拼接成绝对路径
file_count+=1
else:
dir_count+=1
print("文件个数:%s" %file_count)
print("目录个数:%s" %dir_count)
文件删除:直接删除不会放到回收站;remove只能删除文件不能删除文件夹
>>> import os
>>> os.getcwd()
'e:\\'
>>> os.chdir("e:\\desktop")
>>> os.getcwd()
'e:\\desktop'
>>> os.remove("e:\\desktop\\0.py") #删除文件绝对位置
>>> os.remove("0.py") #删除文件相对位置
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
FileNotFoundError: [WinError 2] 系统找不到指定的文件。: '0.py'
>>>
删除目录
从路径的下面开始删除空目录
>>> os.mkdir("e:\\testman") #创建目录
>>> os.mkdir("e:\\testman\\testman2")
>>> os.removedirs("e:\\testman\\testman2") #只能删除空目录
判断目录下是否为空
listdir 长度为0
判断是否是绝对路径:
>>> os.getcwd()
'e:\\desktop'
>>> os.path.isabs("0.txt")
False
>>> os.path.isabs("e:\\0.txt")
True
建议:使用绝对路径
>>> if not os.path.exists("e:\\a.txt"): #判断文件是否存在,如果不存在
... with open("e:\\a.txt","w") as fp: #追加文件a.txt并进行写操作
... fp.write("")
...
0
练习:创建一个10级目录,每个目录的名字从gloryroad1-10,每个目录创建一个文件,文件的名字1-10.TXT
算法:1. 写一个for循环,循环10次
2.循环俩面实现代码:创建一个目录为gloryroad,然后用with方法创建文件,文件名使用i+“.txt”,然后使用W模式,给文件写内容,写的内容就是拼接的文件名
>>> import os
>>> dir_name="gloryroad" #目录名
>>> os.chdir("e:\\pic1") #指定当前路径
>>> for i in range(1,11):
... os.mkdir(dir_name+str(i)) #用相对路径
... os.chdir(dir_name+str(i))
... with open(str(i)+".txt","w") as fp:
... fp.write(str(i)+".txt")
获取当前目录下的文件名和目录名
>>> os.chdir("e:\\")
>>> os.listdir()
['$RECYCLE.BIN', '0.txt', '17643', 'apache-maven-3.2.3', 'auto
文档', '分支管理.txt', '工作文件', '打包.doc', '新建文件夹', '
>>> os.path.dirname("e:\\")
'e:\\'
>>> os.path.dirname("e:\\svn")
'e:\\'
>>> os.path.basename("e:\\svn")
'svn'
>>> os.path.basename("e:\\pic1\\")
''
>>> os.path.basename("e:\\pic1\\gloryroad1")
'gloryroad1'
>>> os.path.splitext("e:\\0.txt") #提取文件后缀名
('e:\\0', '.txt')
>>> os.name #系统名
'nt'
>>> os.getcwd()
'e:\\'
>>> os.listdir()
['$RECYCLE.BIN', '0.txt', '17643', 'apache-maven-3.2.3', 'autotest'
文档', '分支管理.txt', '工作文件', '打包.doc', '新建文件夹', '近期文
>>> os.rename("0.txt","1.txt") #给文件重命名
>>> os.path.getsize("e:\\1.txt") #查看文件大写
200