28.15. user — User-specific configuration hook - Python 2.7.18 documentation 编辑

Deprecated since version 2.6: The user module has been removed in Python 3.

As a policy, Python doesn’t run user-specified code on startup of Python programs. (Only interactive sessions execute the script specified in the PYTHONSTARTUP environment variable if it exists).

However, some programs or sites may find it convenient to allow users to have a standard customization file, which gets run when a program requests it. This module implements such a mechanism. A program that wishes to use the mechanism must execute the statement

import user

The user module looks for a file .pythonrc.py in the user’s home directory and if it can be opened, executes it (using execfile()) in its own (the module user’s) global namespace. Errors during this phase are not caught; that’s up to the program that imports the user module, if it wishes. The home directory is assumed to be named by the HOME environment variable; if this is not set, the current directory is used.

The user’s .pythonrc.py could conceivably test for sys.version if it wishes to do different things depending on the Python version.

A warning to users: be very conservative in what you place in your .pythonrc.py file. Since you don’t know which programs will use it, changing the behavior of standard modules or functions is generally not a good idea.

A suggestion for programmers who wish to use this mechanism: a simple way to let users specify options for your package is to have them define variables in their .pythonrc.py file that you test in your module. For example, a module spam that has a verbosity level can look for a variable user.spam_verbose, as follows:

import user

verbose = bool(getattr(user, "spam_verbose", 0))

(The three-argument form of getattr() is used in case the user has not defined spam_verbose in their .pythonrc.py file.)

Programs with extensive customization needs are better off reading a program-specific customization file.

Programs with security or privacy concerns should not import this module; a user can easily break into a program by placing arbitrary code in the .pythonrc.py file.

Modules for general use should not import this module; it may interfere with the operation of the importing program.

See also

Module site

Site-wide customization mechanism.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:60 次

字数:2971

最后编辑:7 年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文