Python中怎么实现处理文件

发布时间:2021-07-05 16:30:33 作者:Leah
来源:亿速云 阅读:128

今天就跟大家聊聊有关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中怎么实现处理文件有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

推荐阅读:
  1. Python处理csv文件
  2. python中怎么批量处理文件

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python

上一篇:Python中怎么声明解析器函数

下一篇:安装WSL 2的方法

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》