首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

user

自2.6版以来已弃用:该user模块已在Python 3中删除。

作为一项政策,Python不会在启动Python程序时运行用户指定的代码。(只有交互式会话执行PYTHONSTARTUP环境变量中指定的脚本(如果存在)。

但是,某些程序或网站可能会发现,允许用户拥有标准的自定义文件,在程序请求时可以运行该文件。这个模块实现了这样一个机制。希望使用该机制的程序必须执行该声明

代码语言:javascript
复制
import user

用户模块在用户的主目录中查找文件.pythonrc.py,并且如果可以打开它,则在其自己的(模块用户)全局名称空间中执行它(使用execfile())。 这一阶段的错误没有发现; 这取决于导入用户模块的程序,如果需要的话。 主目录被假定为由HOME环境变量命名; 如果未设置,则使用当前目录。

如果用户的.pythonrc.py希望根据Python版本做不同的事情,那么可以想象用户的.pythonrc.py会测试sys.version。

对用户的警告:对你放入.pythonrc.py文件的内容保持非常保守。由于您不知道哪些程序将使用它,因此更改标准模块或函数的行为通常不是一个好主意。

对希望使用此机制的程序员的建议:让用户指定包的选项的一种简单方法是让他们在您的模块中测试的.pythonrc.py文件中定义变量。 例如,具有详细级别的模块垃圾邮件可以查找变量user.spam_verbose,如下所示:

代码语言:javascript
复制
import user

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

(如果用户未在其.pythonrc.py文件中定义spam_verbose,则使用getattr()的三参数形式。)

具有大量定制需求的程序最好阅读特定于程序的定制文件。

安全或隐私问题应程序导入此模块; 通过在.pythonrc.py文件中放置任意代码,用户可以轻松地破解程序。

一般用途的模块应该导入这个模块; 它可能会干扰导入程序的运行。

扩展内容

Module site 网站范围的定制机制。

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com