从另一个文件.py获取函数内部全局变量的值

问题描述 投票:0回答:1

file_a.py

def timestamp(value1, value2)
  global date1, date2
  
  (...)

  date1 = 01/01/01
  date2 = 02/02/02

file_b.py

import file_a

timestamp(value1, value2)

get_date = date1

我收到此错误:

名称错误:名称“date1”未定义


我尝试致电:

file_a.timestamp(value1, value2) 

而且它不起作用。

python module global-variables
1个回答
0
投票

好的,所以您遇到的问题与 Python 处理导入和变量作用域的方式有关。当您使用

file1
import file1
导入变量时,您正在将
file1
中的函数和变量导入到
file2
中,但它们不会在
file2
的全局范围内自动可用。因此,您必须通过使用
file1
引用它来访问 date1 的值。下面是你将如何做到的:

文件1.py:

def timestamp(value1, value2):
    global date1, date2
  
    date1 = 1
    date2 = 2

file2.py:

import file1
file1.timestamp(1, 2)  # Call the function to set date1 and date2

print(file1.date1)  # Now date1 should be available here
print(file1.date2)

希望这有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.