-
python进修笔记(七)
添加时间:2013-5-20 点击量:目次和文件操纵
说话只有和外部连起来操纵才会实现更强大的功能,比如操纵文件、数据库等,如许数据可以有一块零丁存储的处所,而不是存放在内存中。更强大的是收集编程,当然这些后续都邑进修。接下来进修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.txt5、分化文件名的扩大名——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
.txt6、断定一个路径(目次或文件)是否存在——os.path.exists()
格局为:os.path.exists(“要断定的路径或文件”)
>>> os.path .exists (C:\\) #该路径存在
True
>>> os.path .exists (C:\\123\\) #该路径不存在
False
>>> os.path .exists (C:\\123.txt) #该文件不存在
False
>>> os.path .exists (C:\\test.txt) #该文件存在
True
7、断定一个路径是否有须要的文件——os.path.isfile(文件)
>>> os.path .isfile(C:\\test.txt)
True
>>> os.path .isfile(C:\\123.txt)
False8、断定一个路径是否存在——os.path.isdir(路径)
>>> os.path .isdir(C:\\)
True
>>> os.path .isdir(H:\\)
False9、获取目次中的文件及子目次的列表——os.listdir(路径)
相当于Windows下powershell中获取Get-ChildItem号令和Linux中的ls号令。然则这个显示不是以常见的列表的情势:
>>> os.listdir(C:\\) #这里包含隐蔽文件也显示出来了
[¥Recycle.Bin, 360ld, 360rescue, 360SANDBOX, 360SysRt, Boot, bootmgr, BOOTSECT.BAK, CacheTemp, Documents and Settings, grldr, IFRToolLog.txt, inetpub, MSOCache, pagefile.sys, Program Files, Program Files (x86), ProgramData, Python27, Recovery, RECYCLER, SBTDR, System Volume Information, test.txt, Users, Windows]示例:获取指定目次下的所有子目次的列表
获取指定目次下所有文件的列表
10、删除子目次——os.rmdir(path),只能删除空目次
>>> os.rmdir(C:\\temp\\test) #重视只删除了test目次
>>> os.rmdir(C:\\temp) #这里才删除了temp目次文件
python中模块的引入使得对文件的操纵变的很简单。最根蒂根基的文件操纵就是在文件中进行读写数据,在操纵文件之前要打开文件。
打开文件——open(file[,mode])
>>>import os
>>> os.getcwd()
c:\\
>>> file=open(test.txt) #默认的mode是r,即读模式
>>> file.read() #读取文件内容
hello\nworld\nhello,python # \n在文件中的情势是换行mode的选项即含义如下:
模 式
文艺不是炫耀,不是花哨空洞的文字堆砌,不是一张又一张的逆光照片,不是将旅行的意义转化为名牌包和明信片的物质展示;很多时候它甚至完全不美——它嘶吼、扭曲,它会痛苦地抽搐,它常常无言地沉默。——艾小柯《文艺是一种信仰》