} } }

    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.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
    .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该文件不存在
    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
    False


    8、断定一个路径是否存在——os.path.isdir(路径)



    >>> os.path .isdir(C:\\
    True
    >>> os.path .isdir(H:\\
    False


    9、获取目次中的文件及子目次的列表——os.listdir(路径)


    相当于Windows下powershell中获取Get-ChildItem号令和Linux中的ls号令。然则这个显示不是以常见的列表的情势:



    >>> os.listdir(C:\\)   #这里包含隐蔽文件也显示出来了
    
    [
    ¥Recycle.Bin360ld360rescue360SANDBOX360SysRtBootbootmgrBOOTSECT.BAKCacheTempDocuments and SettingsgrldrIFRToolLog.txtinetpubMSOCachepagefile.sysProgram FilesProgram Files (x86)ProgramDataPython27RecoveryRECYCLERSBTDRSystem Volume Informationtest.txtUsersWindows]


    示例:获取指定目次下的所有子目次的列表





    View Code




      获取指定目次下所有文件的列表





    View Code




    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的选项即含义如下:






    模 式


    文艺不是炫耀,不是花哨空洞的文字堆砌,不是一张又一张的逆光照片,不是将旅行的意义转化为名牌包和明信片的物质展示;很多时候它甚至完全不美——它嘶吼、扭曲,它会痛苦地抽搐,它常常无言地沉默。——艾小柯《文艺是一种信仰》
    分享到: