gpt4 book ai didi

python - 如何使用任意路径将Python模块导入到局部变量中?

转载 作者:行者123 更新时间:2023-12-01 03:28:56 24 4
gpt4 key购买 nike

我正在尝试使用 python 文件作为配置文件。在我的真实程序中,我让用户在命令行指定配置文件。

这是我的例子:

some_randomly_named_file.py:

import os
from datetime import timedelta

PROJECT = "my project"
ENABLED_FORMATS = ['xml', 'json', 'yaml']
EXPIRATION=3600

#DEBUG = True
#TESTING = False

LOG_FOLDER = os.path.join(os.path.expanduser('~'), 'logs')

文件存储在此处:/foo/bar/baz/some_randomly_named_file.py

...然后在 myapp.py 中:

# parse the command line and get the path
path_to_file = '/foo/bar/baz/some_randomly_named_file.py'

# load the python file at path_to_file into local variable myconfig
# [What do I write here to accomplish this?]

# And now we have a local variable called myconfig
print(myconfig.PROJECT)

输出:

my project

最佳答案

就像@sandeep提到的那样。只需将源文件 (config.py) 添加到 sys 路径即可。当您将此 config.py 文件添加到您的路径时,Python 会将该文件(及其内容)视为普通模块。这里有更多的解释:

# Load your config.py as a module
import sys
sys.path.append("/foo/bar/baz/") # Path to config.py parent folder

import config # Import as a regular module

print(config.PROJECT)
"my project"

您可以使用this very similar question供引用。

关于python - 如何使用任意路径将Python模块导入到局部变量中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41156580/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com