如何将变量值从一个python脚本导入到另一个脚本

xvw2m8pv  于 2023-02-21  发布在  Python
关注(0)|答案(1)|浏览(98)

我有三个python脚本START.pycredentials.pyask_LDAP.py,第一个在Szperacz_2.0目录下,其余的在root directory目录下,接下来的两个在src目录下,再往下一层。

Szperacz_2.0
|
| START.py
|- src
|   | - credentials.py
|   | - ask_LDAP.py

当我运行ask_LDAP.py时,一切正常,控制台要求loginpassword,然后打印输入的字符。问题是当我运行START.py时,控制台要求loginpassword,然后返回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)
fv2wmkja

fv2wmkja1#

Python不知道你所说的“凭证”是什么意思,因为文件不在同一个目录中。

__init__.py

到目录“src”中,从而使其成为一个包。然后,您可以修改www.example.com中的导入START.py以

from src import credentials

这应该会产生所需的结果。随后,由于调用exec(),您将遇到另一个错误。您应该删除此部分,并使用更好的方法,如:How can I make one python file run another?

相关问题