目录和文件操作
语言只有和外部连起来操作才会实现更强大的功能,比如操作文件、数据库等,这样数据可以有一块单独存储的地方,而不是存放在内存中。更强大的是网络编程,当然这些后续都会学习。接下来学习python对目录和文件的操作。前面的笔记都是基础理论知识,我觉得从这里开始几乎就可以干一些事了。
有关文件夹与文件的查找,删除等功能 在 os 模块中实现。使用时需先导入这个模块:import os
目录
1、取得当前目录——os.getcwd()
>>> import os
>>> s=os.getcwd()#获得当前运行脚本所在目录
>>> s
'C:\\Python27'
比如运行test.py,那么输入该命令就会返回脚本所在的文件夹位置。
例如将test.py放入A文件夹。并且希望不管将A文件夹放在硬盘的哪个位置,都可以在A文件夹内生成一个新文件夹。且文件夹的名字根据时间自动生成。
>>> import os
>>> import time
>>> folder = time.strftime(r"%Y-%m-%d_%H-%M-%S",time.localtime())
>>> os.makedirs(r'%s/%s'%(os.getcwd(),folder)) #创建以时间命名文件夹名
这是运行脚本的目录即'C:\\Python27'下多了一个以当前时间命名的文件夹
2、创建子目录——os.makedirs("path"),path是要创建的子目录
>>> os.makedirs("C:\\temp\\test") #这是C盘下就创建了temp目录,temp下嵌套的文件夹是test
(当然,也可能创建失败,比如path已存在,或者驱动器不在,或者无写权限等等)
3、更改当前目录——os.chdir()
相当于dos或Linux下的cd命令
>>> os.chdir('c:\\') #将当前目录改为C盘根目录下
4、将路径分解为目录名和文件名——os.path.split()
格式为:fpath , fname = os.path.split( "要分解的路径")
>>> a,b=os.path.split("c:\\dir1\\dir2\\file.txt")
>>> print a
c:\dir1\dir2
>>> print b
file.txt
5、分解文件名的扩展名——os.path.splitext()
格式为:fpath_name , ftext = os.path.splitext( "要分解的路径")
>>> a,b=os.path.splitext("c:\\dir1\\dir2\\file.txt")
>>> print a
c:\dir1\dir2\file
>>> print b
file.txt
6、判断一个路径(目录或文件)是否存在——os.path.exists()
格式为:os.path.exists(“要判断的路径或文件”)
>>> os.path .exists ("C:\\") #该路径存在
True
>>> os.path .exists ("C:\\123\\") #该路径不存在
False
>>> os.path .exists ("C:\\123.txt") #该文件不存在