繁体   English   中英

为什么即使保存了我的python脚本也没有更新?

[英]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()却不能。

到目前为止,我所做的是:

  • 再次克隆存储库
  • 进行任何更改之前,请使用chmod -R 777 main
  • 我已经在git上添加了更改,但是对script2的功能没有任何更改
  • 我使用了多种文本编辑器,包括gedit,emacs,nano和Geany,但它们均未产生不同的结果

我的操作系统是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其中ClassNamescript2.py

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM