OS模块文件操作一
1 文件操作
1.1 OS模块
l import os #引入os模块
l import os.path #引入os下的path子模块
l os.getcwd() # 获取当前路径
l os.chdir(“e:\\1software”) #切换绝对路径,也可以用相对路径切换至此目录下,不过前提是已经在e:\\盘目录下,可行驶os.chdir(“1software”)
l os.path.isdir(“e:\\1software”) #判断该“”内的对象是否是目录,如果是则返回True,不是则为False
l os.path.isfile(“e:\\1.txt”) #判断该””内的对象是否是文件,如果是则返回True,不是则为False
l os.name #查看系统名称,如Windows下是 nt
l os.linesep #查看换行符,如Windows下是 \r\n
1.2 os模块的增删改查
l os.mkdir(“e:\\testfile”) #创建不存在的一个目录(增加一个目录)
l os.makedirs(“e:\\1\\2\\3\\4\\5”) #递归创建目录 (递归增加多个目录)
l os.remove(“e:\\1.txt”) #删除e盘下的TXT文件 (删除文件)
l os.remove("e:\\1\\2\\3\\4\\5\\1.txt") #删除多级目录下的TXT文件(只能删除文件)
l os.removedirs(“e:\\1\\2\\3\\4\\5”) #递归从右侧至左侧删除e盘下的目录,如果某一级目录非空,那么停止删除(删除多级目录)
l os.rename(“e:\\a.py”,”b.py”) #指定目录下重命名文件(改文件操作)
l os.rename(“e:\\1”,”e:\\2”) #指定目录重命名 (改目录操作)
l os.listdir(os.getcwd()) #当前路径下的所有文件和目录 (查看当前目录下文件)
l os.listdir(“e:\\”) #指定目录下的所有文件和目录 (查看当前目录下文件)
1.3 小练习
1.3.1 文件每一行写一个字母,从a写到z,每个字母后面带个,和行号
l 方法一:
import string
fp=open(r"e:\abc\abc.txt","w")
for i in range(len(string.lowercase)):
fp.write(string.lowercase[i]+","+str(i+1)+"\n")
fp.close()
l 方法二:
fp=open(r"e:\abc\123.txt","w")
for i in range(1,27):
fp.write(chr(ord("a")+i-1)+","+str(i)+"\n")
fp.close()
l 方法三:
fp=open(r"e:\abc\123.txt","w")
fp.writelines([chr(ord("a")+i-1)+","+str(i)+"\n" for i in range(1,27)])
fp.close()
l 方法四:
import string
fp = open("e:\\1.txt","w")
content=map(lambda
x,y:x+","+str(y)+"\n",list(string.lowercase),range(1,27))
fp.writelines(content)
fp.close()
1.3.2 统计某一级目录下的文件和目录数
import os
import os.path
os.chdir("e:\\1software")
print os.getcwd()
dir_result = 0
file_result =0
for i in os.listdir(os.getcwd()):
if os.path.isdir(i):
dir_result+=1
else:
file_result+=1
print dir_result,file_result
1.3.3 用代码实现创建5级目录
l 方法一:
import os
- os.chdir("e:\\1software")
print os.getcwd()
for i in range(1,6):
os.mkdir(str(i))
os.chdir(str(i))
l 方法二:
import os
- os.makedirs("e:\\photo\\2\\3\\4\\5\\6")