Python 官方文档:入门教程 => 点击学习
今天就跟大家聊聊有关python中怎么实现处理文件,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、显示目录内容当我们想要列出当前目录中所示:origdir =
今天就跟大家聊聊有关python中怎么实现处理文件,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
一、显示目录内容当我们想要列出当前目录中所示:
origdir = os.getcwd() # 将当前位置记下来 newdir = os.path.join(os.pardir, ’mynewdir’) if not os.path.isdir(newdir): os.mkdir(newdir) # 或者os.mkdir(newdir,’0755’) os.chdir(newdir) ... os.chdir(origdir) # 返回原目录 os.chdir(os.environ[’HOME’]) # 移到主目录
上述代码使用了glob函数,该函数的参数为要显示的文件类型。在这里,文件类型是通过类似UNIX操作系统shell风格通配符描述的一些文件名来指定的。这些通配符的使用方法,具体请参考fnmatch模块的文档,那里有具体的说明和示例。为了显示一个目录中的全部文件,可以使用如下所示的os.listdir函数:
def checksize1(arg, dirname, files): for file in files: filepath = os.path.join(dirname, file) if os.path.isfile(filepath): size = os.path.getsize(filepath) if size > 1000000: sizesize_in_Mb = size/1000000.0 arg.append((size_in_Mb, filename)) bigfiles = [] root = os.environ[’HOME’] os.path.walk(root, checksize1, bigfiles) for size, name in bigfiles: print name, ’大小为’, size, ’Mb’
我们知道,文件名、目录名和链接名都是用一个字符串作为其标识符的,但是给我们一个标识符,我们该如何确定它所指的到底是常规文件文件名、目录名还是链接名呢?这时,我们可以使用os.path模块提供的isfile函数、isdir函数和islink函数来达成我们的目标。
若要删除单个文件的话,可以使用os.remove函数,例如:os.remove(’mydata.dat’)。Os.remove的别名是os.unlink。不过后者跟传统的UNIX操作系统以及Perl中清除文件的函数重名。我们可以使用下列方式来删除一组文件,如所有以.jpg以及*.gif为扩展名的文件:
def somefunc(arg, dirname, files): origdir = os.getcwd(); os.chdir(dirname) <do tasks> os.chdir(origdir) os.path.walk(root, somefunc, arg)
大家知道,只有当目录中内容已经被清空的时候,我们才可以使用rmdir命令来删除该目录。不过,我们经常想要删除一个含有许多文件的目录树,这时我们可以使用shutil模块提供的rmtree函数,如下所示:
def somefunc(arg, dirname, files): origdir = os.getcwd(); os.chdir(dirname) <do tasks> os.chdir(origdir) os.path.walk(root, somefunc, arg)
它实际上是过于严厉。我们需要的只是一个被遍历的一个文件/目录名序列。实际上,我们并不关心名称是否存储在一个列表、元组或者数值数组中,所以更好的测试应该像下面这样
看完上述内容,你们对Python中怎么实现处理文件有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网Python频道,感谢大家的支持。
--结束END--
本文标题: Python中怎么实现处理文件
本文链接: https://lsjlt.com/news/290752.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0