在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 …
  • pipy 国内镜像目前有
http://pypi.doubanio.com/simple/ 豆瓣
http://mirrors.aliyun.com/pypi/simple/ 阿里云
https://pypi.tuna.tsinghua.edu.cn/simple/ 清华大学
  • 比如设置阿里云镜像

直接cmd命令行中分别执行下列2行代码(以阿里云为例):

  1. pip config set global.trusted-host mirrors.aliyun.com
  2. pip config set global.index-url https://mirrors.aliyun.com/pypi/simple

python中对文件、文件夹的操作需要涉及到os模块和shutil模块。

  • 创建空文件
os.mknod("test.txt")
  • 直接打开一个文件,如果文件不存在则创建文件
open("test.txt",'w')
  • 创建多层新目录:
def mkdirs(path):
    # 去除首位空格
    path=path.strip()
    # 去除尾部 \ 符号
    path=path.rstrip("\")

    # 判断路径是否存在
    # 存在 …