python - 在全局变量上运行文件

标签 python python-2.7 maya

这是一段代码:

global episode = "Episode404"
import testing
reload (testing)
#or
python testing.py

测试.py:

def doIt():
    print episode
doIt()

这让我很吃惊

# Error: invalid syntax # 

我猜这是因为我试图传递一个全局变量并运行?我该如何解决这个问题?

最佳答案

下面一行是错误的:

global episode = "Episode404"

但是你也误解了global命令的概念。您需要使用它来更改在您当前工作的范围之外定义的某些变量的值。

Andy 的回答是有效的,但这不是必需的,因为您可以这样做并得到相同的结果:

episode = "Episode404"

def doIt():
    print(episode)

doIt()

global 仅当您想在 doIt() 中更改 episode 的值并且此更改在 doIt() 范围之外传播时才需要,如下所示:

episode = "Episode404"

def doIt():
    global episode
    print(episode)
    episode = "New Episode"

doIt()
print(episode)

输出将是:

"Episode404"
"New Episode"

如果您真的需要使用不同的模块,为什么不直接将剧集作为 doIt() 的参数传递?

把这个放在你的 testing.py 上

def doIt(episode):
    print(episode)

然后将您的主要代码更改为:

from testing import doIt

episode = "Episode404"
doIt(episode)

我认为这种方法比使用全局变量并试图在模块之​​间共享它们要好。也许你可以只使用黑客或你可能不需要的东西来做到这一点。

关于python - 在全局变量上运行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45282474/

相关文章:

python - 使用 Python 抓取网页时如何使用相同的连接?

Python - IP 到主机名脚本

python - 找到最近的季度末约会?

python - 如何使枢轴点保持两倍高度?

python - Keras 如何使用 Adam 优化器恢复训练

python - 从西类牙语解析日期和更改格式

Python 导入错误 : cannot import name __version__

python - 使用 Python 在 Maya 中切换 X 射线模式

python - 用 Python 阅读第 5 届 TIFF channel ?

python - 通过 Python 2.7 在 .xls 上写入多列