我有三个python脚本START.py
,credentials.py
和ask_LDAP.py
,第一个在Szperacz_2.0
目录下,其余的在root directory
目录下,接下来的两个在src
目录下,再往下一层。
Szperacz_2.0
|
| START.py
|- src
| | - credentials.py
| | - ask_LDAP.py
当我运行ask_LDAP.py
时,一切正常,控制台要求login
和password
,然后打印输入的字符。问题是当我运行START.py
时,控制台要求login
和password
,然后返回error
:
Traceback (most recent call last):
File "d:\Szperacz_2.0\START.py", line 10, in <module>
import credentials
ModuleNotFoundError: No module named 'credentials'
如果这个问题是微不足道的,我提前道歉,因为我是一个python初学者。
我的剧本:./START.py
import os
# --- Clearing the Screen
os.system('cls')
path = "./src/credentials.py"
exec(open(path).read())
path = "./src/ask_LDAP.py"
import credentials
exec(open(path).read())
./src/credentials.py
import getpass
login = input("Login: ")
password = getpass.getpass()
./src/ask_LDAP.py
import credentials
login = credentials.login
password = credentials.password
print("login from credentials.py: " + login)
print("passwd from credentials.py: " +password)
1条答案
按热度按时间fv2wmkja1#
Python不知道你所说的“凭证”是什么意思,因为文件不在同一个目录中。
到目录“src”中,从而使其成为一个包。然后,您可以修改www.example.com中的导入START.py以
这应该会产生所需的结果。随后,由于调用exec(),您将遇到另一个错误。您应该删除此部分,并使用更好的方法,如:How can I make one python file run another?