首页 > 解决方案 > 在另一个文件中使用一个文件的变量

问题描述

我有两个 python 文件:

  1. 学期
  2. 今天

在 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 文件中的值

标签: pythonfile

解决方案


您可以作为模块导入term.py并使其返回值。修改term.py如下(添加到末尾Term_advance()):


    return age, n, sum_assuared

然后在另一个脚本中导入模块并运行函数以获取变量的值(这里我假设两个脚本都在同一个文件夹中):

import term

age, n, sum_assuared = term.Term_advance()

这样,用户只需要输入一次数据,但它将通过两个脚本运行。

或者,如果您只想term.py单独运行,您可以简单地将值写入文件,然后从中读取第二个脚本。


推荐阅读