python文件名带日期变量

阅读: 评论:0

python文件名带日期变量

python文件名带日期变量

这是我的项目结构:

a

├── b.py

└── __init__.py

>文件b.py为空.

>文件__init__.py是一行:

b = 'this is a str'

然后以下程序给出了a.b的不一致结果:

import a

print(a.b) # str

import a.b

print(a.b) # module

检测变量和文件名之间这种名称冲突的最佳方法是什么?

解决方法:

“以下程序给出了不一致的打印结果(a.b)”

我想指出,虽然结果可能不同,但事实上,Python并没有做任何不一致的事情.没有详细介绍,这就是程序中每一步所发生的事情.

进口一个

Python搜索sys.path上的目录,直到找到其中一个:一个名为“a.py”的文件,或一个名为“a”的目录,其中包含一个名为__init__.py的文件. Python然后imports你的package.值得注意的是,Python没有查看包“a”并自动导入所有“.py”文件(这节省了内存和时间).

打印(a.b)

Python查找a的属性b,它在__dict__属性中找到. b的值是’this is a string’,它被打印出来.

导入a.b.

Python导入你的模块.使用此语句,与__dict__中的键b对应的值将成为模块对象a.b.

打印(a.b)

Python查找属性b. b的值是打印的模块对象a.b.

“检测这种名称冲突的最佳方法是什么?”

您可以编写一个脚本来列出包中所有模块的名称,以及所有变量(本地和全局),并确定是否存在任何冲突.然而,恕我直言,在这种情况下,一盎司的预防值得一磅治疗; Python中的良好命名约定(一个很好的资源 – PEP8)是防止这样的错误的最佳方法.

标签:python

本文发布于:2024-02-03 00:26:11,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170689117247448.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:文件名   变量   日期   python
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23