getcwd()当前目录路径
>>> import os
>>> os.getcwd()
'E:\\'
>>> os.getcwd()
'E:\\'
chdir()切换目录
>>> os.chdir("e:\\pic1")
>>> os.chdir("e:\\pic1")
>>> os.getcwd()
'e:\\pic1'
'e:\\pic1'
listdir()列出目录下所有的文件和目录,返回一个列表
os.listdir()
>>> os.listdir("e:\\blog")
>>> os.listdir("e:\\blog")
['1.txt', '2.txt', 'a', 'b']
>>> import os.path
>>> os.path.isdir("e:\\blog\\config.py")
False
>>> os.path.isdir("e:\\blog\\flask")
True
>>> os.path.isfile("e:\\blog\\config.py")
True
>>> os.path.isfile("e:\\blog\\flask")
False
>>> os.path.isdir("e:\\blog\\config.py")
False
>>> os.path.isdir("e:\\blog\\flask")
True
>>> os.path.isfile("e:\\blog\\config.py")
True
>>> os.path.isfile("e:\\blog\\flask")
False
小练习:统计一个目录下(一层目录),统计一下有多个文件
统计一下有多少个目录
提示:用os.listdir 和判断文件和路径的api来进行计数
统计一下有多少个目录
提示:用os.listdir 和判断文件和路径的api来进行计数
算法:
1 定义文件计数的变量
2 定义文件夹计数的变量
并赋值0
3 使用os.listdir()获取所有的文件和目录名称,这个返回值是列表
1 定义文件计数的变量
2 定义文件夹计数的变量
并赋值0
3 使用os.listdir()获取所有的文件和目录名称,这个返回值是列表
4 使用for 进行遍历,使用os.path.isdir和isfile来分别判断是文件还是目录
如果是文件,则在文件计数的变量上+1,否则在目录计数的变量上加一
5 输出统计结果:文件计数和目录计数的变量值
如果是文件,则在文件计数的变量上+1,否则在目录计数的变量上加一
5 输出统计结果:文件计数和目录计数的变量值
import os
import os.path
file_count = 0
dir_count =0
for i in os.listdir("e:\\pic1"):
print("取出的内容:",i)
if os.path.isfile("e:\\pic1\\"+i):
file_count+=1
else:
dir_count+=1
print("文件个数:%s" %file_count)
print("目录个数:%s" %dir_count)
import os.path
file_count = 0
dir_count =0
for i in os.listdir("e:\\pic1"):
print("取出的内容:",i)
if os.path.isfile("e:\\pic1\\"+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:\\pic1")
>>> os.getcwd()
'e:\\pic1'
>>> os.remove("e:\\pic1\\1.txt")
>>> os.remove("2.txt")
>>> os.remove("2.txt")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
FileNotFoundError: [WinError 2] 系统找不到指定的文件。: '2.txt'
>>>
>>> os.getcwd()
'E:\\'
>>> os.chdir("e:\\pic1")
>>> os.getcwd()
'e:\\pic1'
>>> os.remove("e:\\pic1\\1.txt")
>>> os.remove("2.txt")
>>> os.remove("2.txt")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
FileNotFoundError: [WinError 2] 系统找不到指定的文件。: '2.txt'
>>>
创建目录
>>> os.mkdir("e:\\pic1\\testman")
>>> os.mkdir("e:\\pic1\\testman1")
>>> os.mkdir("e:\\pic1\\testman")
>>> os.mkdir("e:\\pic1\\testman1")
>>> os.mkdir("e:\\pic1\\testman1\\testman3")
>>> os.mkdir("e:\\pic1\\testman1\\testman4")
>>> os.mkdir("e:\\pic1\\testman1")
>>> os.mkdir("e:\\pic1\\testman")
>>> os.mkdir("e:\\pic1\\testman1")
>>> os.mkdir("e:\\pic1\\testman1\\testman3")
>>> os.mkdir("e:\\pic1\\testman1\\testman4")
删目录 递归删除空目录
>>> os.removedirs("e:\\pic1\\testman1")
从路径的下面开始删除空目录,如果遇到了某个
目录非空(包含子目录或者文件)就停止删除目录了
目录非空(包含子目录或者文件)就停止删除目录了
os.walk()?
import shutil?
判断是不是绝对路径
>>> os.getcwd()
'e:\\pic1'
>>> os.path.isabs("1.txt")
False
>>> os.path.isabs("e:\\pic1\\1.txt")
True
'e:\\pic1'
>>> os.path.isabs("1.txt")
False
>>> os.path.isabs("e:\\pic1\\1.txt")
True
判断文件存在不存在
>>> if not os.path.exists("e:\\pic1\\2.txt"):
... with open("e:\\pic1\\2.txt","w") as fp:
... fp.write("")
... with open("e:\\pic1\\2.txt","w") as fp:
... fp.write("")
创建一个10级目录,每个目录的名字从gloryroad1-10,每个目录创建一个文件,文件的名字是1-10.txt,文件内容写上文件名
os.mkdir("e:\\pic1\\testman11")
算法:
os.mkdir("e:\\pic1\\testman11")
算法:
1 写一个for 循环,循环10次
2 在循环体下,,创建一个目录为gloroadi(i是循环的变量值),os.chdir进入到新创建的目录,然后用with方法创建文件,文件名使用i变量+".txt"的方式来拼接文件名,
然后使用w模式,给文件写内容,写的文件内容就是拼接的文件名
import os
os.chdir("D:\\gloaryroad")
first_dir=os.getcwd()
for i in range(1,11):
last_dir="good"+str(i)
os.mkdir(first_dir+"\\"+last_dir)
first_dir+="\\"+last_dir
os.chdir(first_dir)
with open(str(i)+".txt","w") as fp:
fp.write(str(i)+".txt")
--------------------------------------------------
import os
dir_name = "glroyroad"
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")
dir_name = "glroyroad"
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.path.dirname(r"e:\pic1\1.txt")
'e:\\pic1'
'e:\\pic1'
获取文件的文件名
>>> os.path.basename(r"e:\pic1\1.txt")
'1.txt'
>>> os.path.basename(r"e:\pic1\1.txt")
'1.txt'
获取到切割的文件名和文件的后缀名
>>> os.path.splitext(r"e:\pic1\1.txt")
('e:\\pic1\\1', '.txt')
('e:\\pic1\\1', '.txt')
正在使用的平台 nt是win7
>>>
os.name
'nt'
'nt'
文件重命名
>>> os.rename("2.txt","200.txt")
>>> os.listdir()
['1.txt', '200.txt', 'glroyroad1', 'pic2', 'test', 'testman11', 'testmanxxxx', '
新建文本文档.txt']
>>> os.listdir()
['1.txt', '200.txt', 'glroyroad1', 'pic2', 'test', 'testman11', 'testmanxxxx', '
新建文本文档.txt']
文件大小(获取某一文件的字节数)
>>> os.path.getsize("e:\\b.py")
223