Python标准库中提供了哪些"工具"

the*_*eta 42 python

我目前知道两个工具:

  1. base64编码器/解码器:

    python -m base64 -e <input
    python -m base64 -d <input

  2. json验证器和漂亮的打印机

    python -m json.tool <input

输入可以是标准输入或文件.

我很好奇SPL是否有其他工具以类似的方式工作?

nne*_*neo 107

不是完整的清单......

编码

Base64 en /解码:

python -m base64 -d [file]
python -m base64 -e [file]
Run Code Online (Sandbox Code Playgroud)

ROT-13 en/decoder:

python -m encodings.rot_13
Run Code Online (Sandbox Code Playgroud)

Macintosh BinHex:

# binhex <file> to <file>.hqx, and unbinhex <file>.hqx to <file>.viahqx
python -m binhex <file>
Run Code Online (Sandbox Code Playgroud)

UUENCODE /解码:

python -m uu [infile [outfile]] # encode
python -m uu -d [infile [outfile]] # decode
Run Code Online (Sandbox Code Playgroud)

MIME quoted-printable en/decoding:

python -m mimify -e [infile [outfile]] # encode
python -m mimify -d [infile [outfile]] # decode
Run Code Online (Sandbox Code Playgroud)

引用可打印的en /解码:

python -m quopri [file] # encode
python -m quopri -d [file] # decode
Run Code Online (Sandbox Code Playgroud)

压缩

GZip压缩:

python -m gzip [file] # compress
python -m gzip -d [file] # decompress
Run Code Online (Sandbox Code Playgroud)

Zipfile提取等:

python -m zipfile -l <file> # list
python -m zipfile -t <file> # test
python -m zipfile -e <file> <dir> # extract
python -m zipfile -c <file> sources... # create
Run Code Online (Sandbox Code Playgroud)

互联网

HTTP服务器:

python -m BaseHTTPServer
python -m CGIHTTPServer
python -m SimpleHTTPServer
Run Code Online (Sandbox Code Playgroud)

简单的FTP客户端:

python -m ftplib host [-l<dir-to-list>] [-d<dir-to-cwd>] [-p] [file-to-retrieve]
Run Code Online (Sandbox Code Playgroud)

HTML文本提取:

python -m htmllib <file>
Run Code Online (Sandbox Code Playgroud)

JSON验证器和漂亮的打印机:

python -m json.tool [infile [outfile]]
Run Code Online (Sandbox Code Playgroud)

列出POP3邮箱:

python -m poplib <server> <username> <password>
Run Code Online (Sandbox Code Playgroud)

SMTP服务器:

python -m smtpd
Run Code Online (Sandbox Code Playgroud)

发送邮件(到localhost):

python -m smtplib
Run Code Online (Sandbox Code Playgroud)

Telnet客户端:

python -m telnetlib [host [port]]
Run Code Online (Sandbox Code Playgroud)

MIME类型/扩展数据库:

python -m mimetypes file.ext # print type for filename
python -m mimetypes -e mime/type # print extension for type
Run Code Online (Sandbox Code Playgroud)

打开webbrowser:

python -m webbrowser -n <url> # new window
python -m webbrowser -t <url> # new tab
Run Code Online (Sandbox Code Playgroud)

反重力:

python -m antigravity
Run Code Online (Sandbox Code Playgroud)

蟒蛇

纯Python REPL:

python -m code
Run Code Online (Sandbox Code Playgroud)

Python字节码批处理编译器:

python -m compileall
Run Code Online (Sandbox Code Playgroud)

Python代码分析器:

python -m cProfile <script>
python -m profile <script>
python -m pstats <filename> # print profiling statistics
Run Code Online (Sandbox Code Playgroud)

Python doctest执行程序:

python -m doctest <script>
Run Code Online (Sandbox Code Playgroud)

Python基准:

python -m test.pystone [iterations]
python -m hotshot.stones
Run Code Online (Sandbox Code Playgroud)

Python交互式调试器:

python -m pdb
Run Code Online (Sandbox Code Playgroud)

从模块中提取Python类和方法:

python -m pyclbr <script>
Run Code Online (Sandbox Code Playgroud)

Python文档浏览器:

python -m pydoc <topic>
python -m pydoc -g # graphical browser
python -m pydoc -p <port> # start HTTP docs server on port
Run Code Online (Sandbox Code Playgroud)

Python片段计时器:

python -m timeit
Run Code Online (Sandbox Code Playgroud)

杂项

日历(比如cal,但可以做HTML和各种奇特的格式化的东西):

python -m calendar
Run Code Online (Sandbox Code Playgroud)

目录比较器:

python -m filecmp [-r] dir1 dir2 # -r for recursive directory compare
Run Code Online (Sandbox Code Playgroud)

段落格式:

python -m formatter [file]
Run Code Online (Sandbox Code Playgroud)

显示当前平台(比如uname更简单):

python -m platform
Run Code Online (Sandbox Code Playgroud)

  • 感谢您明确显示示例并添加说明.这是一个非常好的参考. (3认同)

Ign*_*ams 30

许多.

$ grep "if __name__ == '__main__':" /usr/lib64/python2.7/* | wc -l
55
Run Code Online (Sandbox Code Playgroud)

但并非所有工作都是过滤器,因此在运行之前检查相关模块.

  • 别忘了检查其他引用样式,并使用递归grep - 还有更多好东西,例如calandar.py:`grep -rs"如果__name__ == [\'\"] __ main __ [\'\"]:"/usr/lib中/ python2.7` (3认同)