几分钟轻松教会您Python目录操作
创始人
2024-06-23 10:11:15
0

对于每一个Python目录操作的从业人员,无论是开发人员、项目经理、还是测试人员,掌握了Python这们语言会使我们的编程工作更简单和更轻松,希望大家能够从中吸取自己想要的东西。

参数dirname是当前正在访问的目录的绝对路径,而参数files内的文件名则是相对于dirname的相对路径。在此期间,当前工作目录并没有改变,那就是说该脚本仍然呆在脚本启动时刻所在的Python目录操作中。

这就是为什么我们需要把filepath弄成带有dirname和file的绝对路径的原因。若要改变当前工作目录dirname,只要在针对每个目录调用os.path.walk的函数中调用一下os.chdir(dirname)。

然后在该函数的末尾重新调用os.chdir(dirname)将当前工作目录改回原值即可,如下所示:

  1.  def ls(arg, dirname, files):  
  2.   print dirname, ’has the files’, files  
  3.   os.path.walk(os.environ[’HOME’], ls, None)  
  4.   本例中,参数arg并非必需,所以在os.path.walk调用中让其取值为None即可。  
  5.   为了列出主目录中所有大于1Mb的文件,可以使用下面的代码:  
  6.   def checksize1(arg, dirname, files):  
  7.   for file in files:  
  8.   filepath = os.path.join(dirname, file)  
  9.   if os.path.isfile(filepath):  
  10.   size = os.path.getsize(filepath)  
  11.   if size > 1000000:  
  12.   sizesize_in_Mb = size/1000000.0  
  13.   arg.append((size_in_Mb, filename))  
  14.   bigfiles = []  
  15.   root = os.environ[’HOME’]  
  16.   os.path.walk(root, checksize1, bigfiles)  
  17.   for size, name in bigfiles:  
  18.   print name, ’大小为’, size, ’Mb’  

参数arg带来了巨大的灵活性。我们可以使用它来同时存放输入数据和生成的数据结构。下一个范例将收集所有大于一定尺寸的带有规定扩展名的文件的文件名和大小。输出的结果按照文件大小排列。

当然,如果您愿意也可以编写具有类似功能的代码来替代os.path.walk。下面的代码,将针对每个文件而非每个目录来调用的自定义函数,如下所示:

  1. def checksize2(fullpath, bigfiles):  
  2.   size = os.path.getsize(fullpath)  
  3.   if size > 1000000:  
  4.   bigfiles.append(’%.2fMb %s’ % (size/1000000.0, fullpath))  
  5.   bigfiles = []  
  6.   root = os.environ[’HOME’]  
  7.   find(checksize2, root, bigfiles)  
  8.   for fileinfo in bigfiles:  
  9.   print fileinfo  

注意为列表排序的函数,bigfiles[’filelist’]函数中的每个元素就是一个字典,键size保存着一个字符串,不过在进行比较之前我们必须将单位Mb(最后两个字符)去掉,并将其转换为浮点数。对于文件和目录的处理,虽然可以通过操作系统命令来完成,但是Python目录操作为了便于开发人员以编程的方式处理相关工作,提供了许多处理文件和目录的内置函数。

重要的是,这些函数无论是在Unix、Windows还是Macintosh平台上,它们的使用方式是完全一致的。本文详细解释了这些函数的使用方法。其中,我们首先介绍了显示目录内容的功能,然后描述如何测试一个文件名对应的是一个标准文件、Python目录操作还是链接。

以及提取文件大小和日期的方法。之后,我们还将介绍如何删除文件和Python目录操作,如何复制和删除文件,以及怎样将一个完整的文件路径分解成目录部分和文件名部分,最后,我们讲解目录的创建,以及如何在目录树中移动目录并处理文件。

【编辑推荐】

  1. 有关Python系统文件进行介绍指导
  2. 如何正确的使用Python函数
  3. Python 构建工具进行详细介绍分析
  4. PythonAndroid浅析Python优势所在
  5. 如何使用Python模块解析配置文件?

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
30分钟搞定iOS自定义相机 最近公司的项目中用到了相机,由于不用系统的相机,UI给的相机切图,必须自定义才可以。就花时间简单研究...
Intel将Moblin社区控... 本周二,非营利机构Linux基金会宣布,他们将担负起Moblin社区的管理工作,而这之前,Mobli...