Python try finally 语句 运行 另一个文件

Python try finally statement to run another file

我在正确执行 try and finally 语句时遇到问题。我试图让另一个 Python 文件在用户与第一个 program.For 示例交互后执行,一旦第一个程序是 运行 ,用户将被要求扫描他们的标签,这将为该用户创建一个唯一的用户 ID;扫描他们的标签后,将执行第二个 python 文件。我的问题是,无论是否先扫描标签,只要执行第一个文件,第二个文件就会一直 运行。我在下面添加了我的代码和注释以帮助更好地解释。有什么想法吗?

import RPi.GPIO as GPIO
from mfrc522 import SimpleMFRC522

# Second File being ran
import medform

reader = SimpleMFRC522()  

try:

# user id being created
   c = string.ascii_letters + string.digits
   op = "".join(choice(c) for x in range(randint(8,16)))

# Printed before tag is scanned
   print("Please Scan tag " )
   reader.write(op + op)

# if tag is scanned / id created open second file 
   if reader.write(op + op):
      os.system('python medform.py')
   else:
      print("Scan Tag First" )

# Print after tag is scanned 
  print("Scan Complete")

 finally:
    GPIO.cleanup()

正在导入文件运行就这样,有 2 种方法可以完成您想要的操作:

  1. 在需要时导入文件运行
  2. 在另一个文件中定义一个主函数,您可以从第一个文件 运行 而不是将所有代码都放在顶层

在大多数情况下,第二个选项是最好的,因为您通常不希望文件在导入时实际执行操作。

所以在第二个文件中你将拥有:

def main():
   # the code you want to run (make sure to indent it)

那么在第一个你可以有:

import medform
# ...
medform.main()