原文:利用python遍历多级文件夹处理不同文件

  • 需求:近期,同事在处理文件的时候,常常需要从一堆文件中提取一些数据信息;
  • 分析:由于每个文件夹下面的文件或文件夹多如牛毛,文件类型也很多种,需要针对不同文件类型做处理,人工处理是不现实的,只能用脚本处理了。

分析代码:

  1. 这里定义了一个类 ErgodicFolder,里面有两个方法 process_file 和 ergodic_path_list
  2. process_file:对不同文件类型进行处理;
  3. ergodic_path_list:实现文件夹的遍历,先是逐个遍历目标文件夹,如果是文件则调用process_file 方法处理,如果是文件夹则调用函数自身继续遍历该文件夹。
# -*- …

在python中,函数内部可以调用其他函数,也可以调用函数自身,这种函数内部调用自身的函数我们称为递归函数。 举个例子,阶乘(factorial)的计算:n! = 1*2*3*...*n

def factorial(n):
    if n == 1:
        return 1
    return n * factorial(n-1)

factorial(n)就是一个递归函数,试试运行:

>>> …

一、线程模块

Python3 通过两个标准库 _thread 和 threading 提供对线程的支持。

_thread 提供了低级别的、原始的线程以及一个简单的锁,它相比于 threading 模块的功能还是比较有限的。

threading 模块除了包含 _thread 模块中的所有方法外,还提供的其他方法:

  • threading.currentThread(): 返回当前的线程变量。
  • threading.enumerate(): 返回一个包含正在运行的线程的list。正在运行指线程启动后、结束前,不包括启动前和终止后的线程。
  • threading.activeCount(): …

最近应朋友,使用Python写了一个登录币乎获取最新文章点赞的程序,但是对于不会使用Python的朋友来说,就是麻烦,还需要安装很多东西。于是想把它打包成exe可执行文件出来,在网上找了很多帖子,但在实际过程中还是遇到了不少问题,所以做个笔记,备忘: 环境:Windows10 + Python3.6

安装Pyinstaller

在cmd命令行中,输入代码:

pip install pyinstaller

使用pyinstaller打包py文件成exe程序

  • 打包文件成exe程序

使用cmd切换至(命令:cd 文件路径(注意空格))需要打包的py文件目录下:

并输入代码,格式为使用命令:pyinstaller -F 文件名(带后缀py):

pyinstaller --icon=BiHu.ico -F BiHu.py …