![](/img/trans.png)
[英]Why do I get FileNotFound in Python even though I have the file saved on my computer?
[英]Why are my python scripts not updating even though that are saved?
公平的警告,我是一个相对没有经验的程序员,所以我的术语可能并不完美。
首先,我从Github克隆了一个存储库,该存储库的目录结构如下:
main
-> dir1
-> script1.py
-> dir2
-> script2.py
其中foo包含一个名为“ Class”的类,该类实现了一种方法foo(),该方法在script2.py中进行了调用。
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)仍将在Class方法中显示foo,并且不会显示栏。
同样,test.foo()可以工作,但是即使foo不再是class的方法而bar也可以,但test.bar()却不能。
到目前为止,我所做的是:
我的操作系统是Ubuntu 16.04LTS,我以前从未遇到过此问题。
请让我知道我是否应该提供其他信息,或者是否应该重试。
我认为问题出在您的目录结构上。
如果您有主目录(即克隆的存储库),我们将其main_repo
和一个脚本script1.py
,并且您想要从script2.py
导入其他文件夹中的内容,它的外观应类似于
main_repo --> script1.py --> other_folder --> script2.py
然后在script1.py
的顶部, from other_folder import ClassName
写入from other_folder import ClassName
其中ClassName
在script2.py
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.