一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第27天,点击查看活动详情
本章节主要介绍python相关的常用模块与方法
python获取脚本所在目录
引入os库,然后使用以下方法来获取目录路径
os.path.split(os.path.realpath(__file__))[0]
python获取本机IP
通过网卡发送数据包的方法来获取本机真实IP
def get_network_ip():
"""get the local network ip, not loopback 127.*"""
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(('1.1.1.1',80))
ip = s.getsockname()[0]
s.close()
return ip
logging日志打印库
引入logging日志库,可以记录不同日志级别的日志
import logging
log_file = "./basic_logger.log"
logging.basicConfig(filename = log_file, level = logging.DEBUG)
logging.debug("this is a debugmsg!")
pytz模块
用于控制时间的时区
jsonpickle模块
用来序列化复杂的 Python 对象到 JSON 文档
future 模块
通过 future 导入新版本某些模块,测试新版本的新功能,等测试成功后再升级到新的版本上
name or flags - 一个命名或者一个选项字符串的列表,例如 foo 或 -f, --foo。
action - 当参数在命令行中出现时使用的动作基本类型。
nargs - 命令行参数应当消耗的数目。
const - 被一些 action 和 nargs 选择所需求的常数。
default - 当参数未在命令行中出现时使用的值。
type - 命令行参数应当被转换成的类型。
choices - 可用的参数的容器。
required - 此命令行选项是否可省略 (仅选项可用)。
help - 一个此选项作用的简单描述。
metavar - 在使用方法消息中使用的参数值示例。
dest - 被添加到 parse_args() 所返回对象上的属性名。
Faker模块
使用Faker这个Python库,用它来生成各种各样的伪数据
add_argument dest
dest:如果提供dest,例如dest="a",那么可以通过args.a访问该参数
dest:大部分的选项都须要经过命令行来给其赋值,这些值的名字经过dest来定义,默认的规则如同metavar中所述
json.loads()
一般来说使用json.loads(str)可以得到一个dict
args = parser.parse_args()
args.input = '{"mongo_url":"abc"}'
return json.loads(args.input)
总结
我们在使用python相关库的时候,没有必要去了解所有依赖库,而是在实际使用过程中,如果遇到了什么问题,就去找下相应库即可,如果实在没有可以尝试自己编写。另外连接同一个组件,可能也存在多种不同的依赖库,需要了解其中的区别,选择合适的依赖库,避免使用上带来影响。另外一点,是需要了解python和python3之间的区别,有些用法是不兼容的,这点需要格外注意。