如何从一个模块指向下一个模块

时间:2018-01-19 03:06:11

标签: python

我正在尝试为程序创建密码系统。我上半部分工作,所以当我打开代码时,它会打开我的文件。之后,程序再次要求输入密码,而不是转移到应该关闭文件的下一个模块。这就是我所拥有的

Set objWeb = ActiveSheet.QueryTables.Add( _
Connection:="URL;https://stackoverflow.com/questions/" + i + "/change-range-in-running-macro", _
Destination:=Range("A1"))

我希望它有点像" if / then"有点声明。例如,如果正确输入密码,则打开文件`os.startfile(' C:\ restricteded access')然后指向下一个模块以提供关闭选项。

3 个答案:

答案 0 :(得分:0)

“而真实”只是无限循环。一旦打开文件,它将返回到该循环的开头并再次询问您的密码。如果你想让它从那个循环中断,如果他们得到了正确的密码,你需要在你的startfile行之后添加一个“break”。我也不确定你为什么两次检查他们的密码。如果您希望它在尝试打开文件后退出循环,无论它是否成功,请在异常处理程序之后添加“finally”块。

while True:
    choice = int(input("Enter Password: "))
    if (choice>=1124):
        if choice ==1124:
             try:
                os.startfile('C:\\restriced access')
                break
             except Exception as e:
                print (str(e))

答案 1 :(得分:0)

你的while循环是while True:。除非您明确退出,否则永远不会退出。您想在其中添加break,如下所示:

os.startfile('C:\\restriced access')
break

答案 2 :(得分:0)

很高兴看到你学习python。 原因是因为while循环没有中断。

然后再次避免在循环中打开文件。 嵌套的if也很难调试。

同时结帐pep8。

没有进行任何代码更改。

import os 
while True: 
    choice = int(input("Enter Password: "))     

   if (choice<1124): 
       continue

   if choice ==1124: 
        try: os.startfile('C:\\restriced access') 
             break
        except Exception as e: 
             print (str(e)) 
             break

while True:
    choice = input("Close? (y/n): ")
    if (choice=='y'):
          break