我尝试在其中使用带有 getpass() 函数的单独模块,例如
#! /usr/bin/python3
from getpass import getpass
import sys
def mypass():
try:
password = getpass('Password: ')
except Exception as e:
print(e)
sys.exit(1)
while password == '':
password = getpass('Enter password again: ')
return(password)
mypass()
我有一个使用此模块的主脚本:
#! /usr/bin/python3
import myModule
...
def main():
p = myModule.mypass()
print(p) #for testing only
...
if __name__ == '__main__':
main()
当我直接运行 myModule 脚本时,密码输入在第一次尝试时有效,当我使用主脚本时,密码输入在第二次尝试时有效:
user@server:~$./myModule.py
Password:
user@server:~$
user@server:~$./main.py
Password:
Password:
secret
user@server:~$
有人知道为什么并且可以帮助我解决这个问题吗?