[ python-001 ] python常用模块、方法(1)

138 阅读2分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 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之间的区别,有些用法是不兼容的,这点需要格外注意。