我需要包括从一个文件到另一个文件的全局变量,它包括整个函数...我不知道为什么?
我的源文件create_repo. py:
def create_repository(repository_name):
headers = {
'Authorization': 'Basic' +personal_access_token,
'Content-Type': 'application/json',
'User-Agent': 'Chrome'
}
payload = json.dumps({
"project": "xxxxx",
"name": repository_name
})
global repository_id
response = requests.request("POST", base_url, headers=headers, data=payload,
auth=HTTPBasicAuth("yyyy", personal_access_token))
print(response.text)
repository_id = response.text[6:44]
print("ID of the new repository:" ,repository_id)
if __name__== "__main__":
create_repository(sys.argv[1])
和同一目录中的第二个文件:
import create_repo
print(create_repo.repository_id)
这显示错误:属性错误:模块"create_repo"没有属性"repository_id"
如果不在"main"函数中,它将包含整个文件create_repo. py,并尝试再次创建存储库...
我已经尝试了多个设置,如从create_repo导入 * 或从create_repo导入repository_id等...没有工作。
2条答案
按热度按时间pvcm50d11#
所以我做了一个更改(函数内部没有定义),就像你告诉我的那样,现在我遇到了这个问题::“1”,“innerException”:null,“message”:“(正在尝试在策略文件中重新创建现有存储库,但它已在create_repo.py文件中创建)
创建存储库
和策略文件
cs7cruho2#
尝试使用以下代码。
在文件
create_repo.py
中:在文件
policies.py:
中我已经将
if __name__== "__main__":
从create_repo.py
移动到policies.py
。显然,您必须执行
policies.py
,而不是create_repo.py
。