python - 从 .env 文件导入路径时,我在路径变量的各处添加了两个额外的括号?

PATH_OLD = r'C:\Users\Bilal\Python\Task1\OlderVersionFiles\' 在我的 .env 文件中。我得到以下信息:

"r'C:\\\\Users\\\\Bilal\\\\Python\\\\Task1\\\\OlderVersionFiles\\\\'"

代替

r'C:\\Users\\Bilal\\Python\\Task1\\OlderVersionFiles\\'

在运行以下代码时:

import os
from dotenv import load_dotenv
load_dotenv()
result = os.getenv("PATH_OLD")
#Prints the correct path here
print(result)
dir_A_dict = dict()
directory_A = result
dir_A_files= [os.path.join(directory_A, x) for x in os.listdir(directory_A) if '.csv' in str(x)]

给出以下错误:

dir_A_files= [os.path.join(directory_A, x) for x in os.listdir(directory_A) if '.csv' in str(x)]
OSError: [WinError 123] The filename, directory name, or volume label syntax is incorrect: "r'C:\\\\Users\\\\Bilal\\\\Python\\\\Task1\\\\OlderVersionFiles\\\\'"

回答1

您正在向 os.listdir 提供一个不是有效目录名称的字符串,因此它会抱怨。你试图对你的环境变量太聪明,它不应该是 Python 语法。简单点:

PATH_OLD = C:\Users\Bilal\Python\Task1\OlderVersionFiles\

相似文章

最新文章