美文网首页
191220 python学习笔记——os包

191220 python学习笔记——os包

作者: dicklim | 来源:发表于2019-12-20 15:29 被阅读0次

    情境:今天在做人工智能课题。要把做好的图像的文件夹一个个改名改成患者的id_label,结果写错了,忘了加"_label",40多个文件又懒得一个个改,就学了一下用python批量改文件,这次用了os包。

    os包的应用

    参考链接:https://www.jianshu.com/p/6b699e9cea1f
    思路:获取所有的文件夹名字,组成一个列表。写一个循环,历遍这个列表,把每个文件夹的名字取出改成id_label。
    要用的包:os包

    应用的代码

    path = 'D:/AIproject/0/_jpg/'                        #先指定一个路径,可以理解为一个working diretory
    filename = os.listdir(path + 'label/')
    #将label文件夹里的所有文件名都列出来形成一个列表,理想情况是这个列表里有所有病人的id号
    for i in filename:  #建立一个循环来历遍整个列表
        name = i
        newname = i + '_label'
        #以上两个变量是旧的名字和新的名字
        os.rename(path+'label/'+name,path + 'new/' + newname)
        #os.rename(oldpath,newpath),这里的path要精确到文件名,因为会连着文件名一起改掉,可以看下面语法里的6
    newfilename = os.listdir(path + 'new/')
    newfilename     #看看新的名字对不对
    

    补充一些语法

    所有path指绝对路径,写的时候均应该加上引号写成字符串
    **在windows里path路径用的是 \ ,但是在python里应该使用 / **

    1. os.name
      输出字符串指示正在使用的平台。如果是window 则用'nt'表示,对于Linux/Unix用户,它是'posix'。(不用加括号)
    2. os.getcwd()
      函数得到当前工作目录,即当前Python脚本工作的目录路径。(get current working dirtory)
    3. os.listdir( path )
      返回指定目录下的所有文件和目录名。当前目录下的,路径要绝对路径,不会往深层递归
    4. os.mkdir( path )
      创建新目录,path为一个字符串,表示新目录的路径,相当于mkdir命令
    5. 几个删除命令:
      -os.rmdir( path )删除目录,只能删除空文件夹,文件夹里有东西会返回OSError
      -os.removedir( path )递归删除目录。类似于rmdir(), 如果子文件夹成功删除, removedirs()才尝试它们的父文件夹,直到抛出一个error(报错一般代表你文件夹里有东西)
      -os.remove( path )删除指定路径的文件。如果指定的路径是一个目录,将抛出OSError
    6. rename(src, dst)
      重命名文件,src和dst为两个路径,分别表示重命名之前和之后的路径。

    其他的以后用到了再补充吧

    相关文章

      网友评论

          本文标题:191220 python学习笔记——os包

          本文链接:https://www.haomeiwen.com/subject/pvvvnctx.html