目录操作

查看在哪个目录下

>>> 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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值