在<第10.5节 使用__all__定义Python模块导入白名单>中,老猿介绍了在自定义模块中使用定义__all__属性来提供模块对外可见的白名单,使用该机制除了可以定义访问的白名单外,其实在导入模块时也可以查看是否定义该属性,定义了该属性的则导入时尽量只使用白名单中的成员. 例如: >>> import string >>> string.__all__ ['ascii_letters', 'ascii_lowercase', 'ascii_upperc…
原文链接 原创: 崔庆才 在 Python 中,一般情况下我们可能直接用自带的 logging 模块来记录日志,包括我之前的时候也是一样.在使用时我们需要配置一些 Handler.Formatter 来进行一些处理,比如把日志输出到不同的位置,或者设置一个不同的输出格式,或者设置日志分块和备份.但其实个人感觉 logging 用起来其实并不是那么好用,其实主要还是配置较为繁琐. 常见用法 首先看看 logging 常见的解决方案吧,我一般会配置输出到文件.控制台和 Elasticsearch.输…
python 中给文件加锁——fcntl模块import fcntl 打开一个文件##当前目录下test文件要先存在,如果不存在会报错.或者以写的方式打开f = open('./test')对该文件加密:fcntl.flock(f,fcntl.LOCK_EX)这样就对文件test加锁了,如果有其他进程对test文件加锁,则不能成功,会被阻塞,但不会退出程序.解锁:fcntl.flock(f,fcntl.LOCK_UN) fcntl模块:flock() : flock(f, operation)o…
今日内容 1. 模块:模块的概念 2.导入的方式:import  from import 3. 环境变量:sys.path 4. 导入模块的顺序 5. 循环导入:模块间互相导入 模块 常见的四种模块: module 1. 使用python所编写的 .py文件. 2. 把一系列模块组织到一起的文件夹(文件夹下有一个__init__.py文件,该文件夹就被称之为包) 3. 使用C编写并直接链接到python解释器的内置模块 4. 已被编译为共享库或DLL的或C++扩展 # 1. 什么是模块:一系列功…
案例一:传参动态导入模块. selectModule = input("please input your module name") app_name = input("please input your App's name") # import selectModule #此时导入的模块名是selectModule module = __import__(selectModule) # 返回值标记这 导入的这个模板 app = getattr(module,…
一.函数名 函数名是一个变量,但它是一个特殊的变量,与括号配合可以执行函数的变量,单纯print()出的是一个内存地址. def func(): print('你说你有点难追') print(func) #<function func at 0x000001F812922EA0> ########################单纯打印函数名打印的是一串内存地址############################## def func(): print('花店玫瑰') other=func…
强调:eval()函数功能虽然强大,但是也很危险,这个方法需要慎重使用. 利用python中的内置函数 eval() ,函数说明: def eval(*args, **kwargs): # real signature unknown """ Evaluate the given source in the context of globals and locals. The source may be a string representing a Python expre…
一. 引言 在<第14.8节 Python中使用BeautifulSoup加载HTML报文>中介绍使用BeautifulSoup的安装.导入和创建对象的过程,本节介绍导入后利用BeautifulSoup对象访问相关标签数据. 本节案例中介绍处理的c:\temp\s1.html文件内容如下: <!DOCTYPE html> <html lang="zh-CN"> <head> <style type="text/css&qu…
Tabula是专门用来提取PDF表格数据的,同时支持PDF导出CSV.Excel格式. 首先安装tabula-py: tabula-py依赖库包括Java.pandas.numpy所以需要保证运行环境中安装了这些库. 在Python中配置好Java后看能否正常运行 把PDF中爬取出来的数据制成表格,需要加载openpyxl: 需要读取平均页数有二三百多页的PDF文件数据,爬取出需求数据,以及按需求格式制成不同的sheet表,PDF样式如下: 把写好的Python文件放在和PDF文件放在同一目录下…
optpars是python中用来处理命令行参数的模块,可以自动生成程序的帮助信息,功能强大,易于使用,可以方便的生成标准的,符合Unix/Posix 规范的命令行说明.使用 add_option() 来加入选项,使用 parse_args() 来解析命令行. add_option()中参数 第一个参数表示option的缩写,以单个中划线引导,例如-f.-d,只能用单个字母,可以使用大写;第二个参数表示option的全拼,以两个中划线引导,例如--file.--Opencv_version; 第…