我试图在另一个Python脚本中执行一个操作之后访问函数中包含的变量,但是我不想遍历函数的操作,我只需要访问变量gh
和{
我尝试了不同的方法来实现这一点,比如在主脚本中将变量的初始值设置为None,但我遇到的问题是,当我将script1导入script2时,它会运行脚本并再次将有问题的变量重置为None。另外,我试着把它们包装在一个没有运气的类中。在
另外,我尝试过使用if __name__ = '__main__':
来运行函数,但我似乎不知道如何将函数中的值放入script2中用作全局变量。在
这个函数的答案,可能会用到另一个函数??,但我不能很好地确定语法,因为函数似乎没有保存变量的值。在
如果我问错了这个问题,请让我知道如何改进它,因为我试图问“好”的问题,这样我就不会被禁止。我还在学习,我确实在这里问了很多问题,但通过这样做我学到了很多。在
脚本1.py:
#! /usr/bin/python
import github3
from github3 import login, GitHub, authorize
from getpass import getuser, getpass
import requests
import configparser
def getCreds():
try:
user = input('GitHub username: ')
except keyboardInterrupt:
user = getuser()
password = getpass('GitHub token for {0}: '.format(user))
gh = login(user, password)
if __name__ == '__main__':
getCreds()
exec(open("next_file.py").read())
脚本2.py
^{pr2}$
这个答案完全基于我的假设,即您只需要获取用户凭据一次,然后在其他脚本中重复使用它“n”次。 这是我该怎么做的
更新1
您的问题还与如何组织和运行脚本有关,如果您将脚本捆绑到python包中并运行它们,下面的示例就可以工作了
因为。例如
但是,如果您计划单独运行单个脚本,那么您除了调用每个脚本的登录提示之外别无选择,除非您计划完全删除请求用户凭据并使用文件中预先配置的数据。在
脚本1
在其他脚本中
^{pr2}$例2
脚本3
脚本4
我认为这是一种常见的解决办法。设置一个名为全局的文件_变量py(或类似的东西)并在那里存储全局变量。(See this post by @systemizer)下面是代码的简化版本:
script1.py
script2.py
^{pr2}$相关问题 更多 >
编程相关推荐