python - 在另一个文件中使用一个文件的变量
问题描述
我有两个 python 文件:
- 学期
- 今天
在 term.py 文件中,用户要输入一些数据 例如,在 term.py 文件中,用户要输入年龄、sum_assuared 和持续时间。如何使 today.py 文件可以访问用户在 term.py 文件中输入的数据变量(年龄、sum_assuared 和持续时间),而不是要求他们在 today.py 文件中再次输入变量
在 term.py 文件中,我有这段代码
import today
def Term_advance():
print('advance')
n = int(input('enter duration (n) :'))
age = int(input("enter life's age :"))
Sum_assuared = int(input('enter sum assuared :'))
basis = input('what is the calculation basis::\n'
'1.\t AM 92\n'
'2.\t ELT 15 MALES\n'
'3.\t ELT 12 FELAMES\n'
'4.\t PEN\n'
'5.\t A1967-70\n')
If basis==1:
today.tables_advance_perpetuity()
然后在 today.py 文件中,我有这段代码可以从 excel 文档中读取值。然而,这里的变量已经由用户在 Term.py 文件中输入(年龄、n 和 sum_assuared)
import xlrd
loc = "C:PycharmProjects/Life annuities/tables.xlsx"
wb = xlrd.open_workbook(loc)
def tables_advance_perpetuity():
sheet = wb.sheet_by_index(0)
sheet.cell_value(0, 0)
num = int(input('enter the age of the life:'))
for i in range(sheet.nrows):
x = sheet.cell_value(i, 0)
if x == num:
dx = sheet.cell_value(num - 1, 2)
nx = sheet.cell_value(num - 1, 6)
print(dx)
print(nx)
ann = nx / dx
print(f'Annuity value is {ann}')
因此,对于这种情况,today 文件如何读取,例如,用户在 term.py 文件中输入的年龄、sum_assuared 和 n(而不是要求用户在 today.py 中再次输入值文件)
就像我试图能够读取 term.py 文件中的变量(age、sum_assuared 和 n)一样。所以我希望使用 today.py 文件访问它们。而不是第二次提示询问 today.py 文件中的值
解决方案
您可以作为模块导入term.py
并使其返回值。修改term.py
如下(添加到末尾Term_advance()
):
return age, n, sum_assuared
然后在另一个脚本中导入模块并运行函数以获取变量的值(这里我假设两个脚本都在同一个文件夹中):
import term
age, n, sum_assuared = term.Term_advance()
这样,用户只需要输入一次数据,但它将通过两个脚本运行。
或者,如果您只想term.py
单独运行,您可以简单地将值写入文件,然后从中读取第二个脚本。
推荐阅读
- python-3.x - TensorFlow 2.0 数据增强:tf.keras.preprocessing.image.ImageDataGenerator flow() 方法
- wso2 - 具有多个租户的权利调解员
- java - 使用 VS Code 的 Gradle 出错:“无法使用 Gradle 分发运行构建操作”
- python - 为什么 pyplot imshow 与其颜色条不匹配?
- php - PHP添加到在foreach中创建的现有数组
- python - Configparser 中的 INI 键作为多路径错误
- java - Instagram ?__a=1 API 在响应问题中提供 HTML 登录页面
- arrays - 列中的自动序列号
- json - 在颤振中解析数据问题
- spring-boot - 将 spring-data-commons 与 spring-boot-2.1.x 一起使用时的包问题