【发布时间】:2016-10-15 15:55:59
【问题描述】:
公平的警告,我是一个相对缺乏经验的程序员,所以我的术语可能并不完美。
首先,我从 Github 克隆了一个存储库,其目录结构如下:
main
-> dir1
-> script1.py
-> dir2
-> script2.py
其中 foo 包含一个名为“Class”的类,该类实现了一个在 script2.py 中调用的方法 foo()。
script1.py
-------------------
class Class:
def __init__(self):
...
def foo(self):
...
...
script2.py
------------------------
from dir1 import Class
test = Class()
print(dir(test))
这按预期工作并打印出 Class 的所有方法,包括 foo。
真正的问题是,无论我如何更改 script1.py,虽然文本似乎已保存,但如果我运行 script2.py (python script2.py),dir(test) 总是产生相同的结果。
例如,如果我要从 script1 中删除 foo 方法并将其替换为 bar() 方法,文件将正确保存,但当我运行 script2 时,dir(test) 仍会在方法中显示 foo类,并且不会显示条形图。
test.foo() 也可以工作,但 test.bar() 不会,即使 foo 不再是类的方法,而 bar 是。
到目前为止我做了什么:
- 再次克隆存储库
- chmod -R 777 main 在进行任何更改之前
- 我已经在 git 上添加了更改,但它对 script2 的功能没有任何更改
- 我使用过多个文本编辑器,包括 gedit、emacs、nano 和 Geany,但没有一个产生不同的结果
我的操作系统是 Ubuntu 16.04LTS,我以前从未遇到过这个问题。
如果我应该提供任何其他信息或是否应该重试,请告诉我。
【问题讨论】:
-
你试过删除
*.pyc文件吗? -
刚刚试过,没有骰子。
-
这两个目录中是否有
__init__.py?
标签: python import permissions directory save