Python 中除了 SimpleHTTPServer, json.tool 外,还有哪些内置的模块?

2017-02-08 08:22:55 +08:00
 whwq2012

昨天用了下 python -m json.tool ,贼爽。所以大家还知道 python 中还有哪些实用的内置模块吗?求告知

5446 次点击
所在节点    Python
35 条回复
fearme
2017-02-08 08:35:36 +08:00
functools
expkzb
2017-02-08 08:46:40 +08:00
SimpleHTTPServer
yangg
2017-02-08 09:06:03 +08:00
timeit
python -m timeit '"-".join(str(n) for n in range(100))'
whwq2012
2017-02-08 09:21:56 +08:00
@fearme
@yangg
我想要的是像 python -m SimpleHTTPServer/json.tool 这种可以直接运行的简易工具,不是导入的包啊
whwq2012
2017-02-08 09:22:10 +08:00
@expkzb 这个我知道啊,还有别的吗
est
2017-02-08 09:23:35 +08:00
py 所有模块都可以 -m 执行呀。
est
2017-02-08 09:24:30 +08:00
一句话开启一个 SMTP 服务器测试邮件功能

python -m smtpd -n -c DebuggingServer localhost:1025


1025 端口可以自己换
whwq2012
2017-02-08 09:26:44 +08:00
@est 我知道所有的模块用 m 参数都能执行啊,但是我问的是内置的已经封装好的小工具。比如推荐的 SMTP 服务器
xiaket
2017-02-08 12:06:46 +08:00
cd /usr/lib/python2.7/ && grep '^if\ __name__' --exclude-dir 'dist-packages' * -lR | wc -l

117

这么多,真指望有人一个一个介绍?

另外,接触多了就知道,这种语法糖没什么特别的
whwq2012
2017-02-08 12:59:23 +08:00
@xiaket 你这个运行出的结果是 python 内置包的数量吧,我要的不是这个,我要的是可以执行的小工具。
Yinz
2017-02-08 13:27:27 +08:00
@whwq2012 他 grep 的是含有 'if __name__' 语句的包,也就是可以直接执行的包 :)
aristotll
2017-02-08 14:21:17 +08:00
但是 -m 就是模块啊

-m module-name Searches sys.path for the named module and runs the corresponding .py file as a script.

你其实要自己写也可以写
ivechan
2017-02-08 14:31:18 +08:00
@whwq2012
(以下是根据 Python3.6 文档所得)
你还是直接看一下-m 的说明吧。
When a package name is supplied instead of a normal module, the interpreter will execute <pkg>.__main__ as the main module.
也就是说只要参数是 package 名,就会直接运行包里的__main__函数。

不信你执行这个: python3 -m http.server
也能得到同样的效果,根本不是什么小工具,只是 python 命令行支持这个参数而已。

https://docs.python.org/3/using/cmdline.html?highlight=#cmdoption-m
whwq2012
2017-02-08 14:50:24 +08:00
@Yinz 原来如此,我执行了这个命令下居然有 1700 多个
whwq2012
2017-02-08 14:53:25 +08:00
@aristotll 就是想了解下实用的嘛,有些时候,小工具特别方便。而且我写不出,基础不到家😂
@ivechan 我知道啊,发这个帖子就是想知道标准库里内置了哪些实用的模块
qsnow6
2017-02-08 16:40:28 +08:00
别太懒了,官方文档自己翻
whwq2012
2017-02-08 16:45:09 +08:00
@qsnow6 我用谷歌搜过,搜不到,请问该怎么搜,什么关键字
lhbc
2017-02-08 16:56:40 +08:00
whwq2012
2017-02-08 17:10:37 +08:00
@lhbc 对对对对,我要的就是这种,虽然看了下不是每个模块都是支持-m 参数,但还是谢谢啦
blahgeek
2017-02-08 17:38:20 +08:00
来个有意思的… python -m turtle (我用 python 3)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/338920

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX