0%

virtualenv 介绍

在使用 Python 开发的过程中,工程一多,难免会碰到不同的工程依赖不同版本的库的问题;亦或者是在开发过程中不想让物理环境里充斥各种各样的库,引发未来的依赖灾难。此时,我们需要对于不同的工程使用不同的虚拟环境来保持开发环境以及宿主环境的清洁。virtualenv便是一个可以帮助我们管理不同 Python 环境的绝好工具。 可以在系统中建立多个不同并且相互不干扰的虚拟环境。

阅读全文 »

当内网中的主机没有外网IP地址要被外网稳定访问时,可以使用反向代理工具将主机端口映射出去,从而通过访问外网就能访问到内网中的主机

阅读全文 »

  • 表示各进制的符号
    -b:二进制
    -o:八进制
    -d:十进制
    -x:十六进制

bin()、oct()、hex()返回值均为字符串,且分别带有0b、0o、0x前缀。

阅读全文 »

.text与.content的区别

requests的官方文档有这么一段:

We can read the content of the server’s response. Consider the GitHub timeline again: >>> import requests >>> r = requests.get(‘https://api.github.com/events') >>> r.text u’[{“repository”:{“open_issues”:0,”url”:”https://github.com/... Requests will automatically decode content from the server. Most unicode charsets are seamlessly decoded. When you make a request, Requests makes educated guesses about the encoding of the response based on the HTTP headers. The text encoding guessed by Requests is used when you access r.text. You can find out what encoding Requests is using, and change it, using the r.encoding property: >>> r.encoding ‘utf-8’ >>> r.encoding = ‘ISO-8859-1’ If you change the encoding, Requests will use the new value of r.encoding whenever you call r.text. You might want to do this in any situation where you can apply special logic to work out what the encoding of the content will be. For example, HTTP and XML have the ability to specify their encoding in their body. In situations like this, you should use r.content to find the encoding, and then set r.encoding. This will let you use r.text with the correct encoding. Requests will also use custom encodings in the event that you need them. If you have created your own encoding and registered it with the codecs module, you can simply use the codec name as the value of r.encoding and Requests will handle the decoding for you.

阅读全文 »

Supervisor 是基于 Python 的进程管理工具,只能运行在 Unix-Like 的系统上,Supervisor可以很方便的用来启动、重启、关闭进程。除了对单个进程的控制,还可以同时启动、关闭多个进程。

组成

Supervisor 有两个主要的组成部分:

  • supervisord
    • 运行 Supervisor 时会启动一个supervisord进程,它负责启动所管理的进程,并将所管理的进程作为自己的子进程来启动,而且可以在所管理的进程出现崩溃时自动重启。
  • supervisorctl
    • 是命令行管理工具,可以用来执行 stop、start、restart 等命令,来对这些子进程进行管理。
阅读全文 »

Discourse 是 Stack Overflow 的联合创始人 Jeff Atwood 推出的一个新的开源论坛项目,其目的是为了改变十年未变的论坛软件。它摒弃了传统论坛的话题讨论形式、拥有自学习系统、全Web应用同时适用于桌面和移动终端。

阅读全文 »