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

When importing path from .env file I get two extra brackets added everywhere in the path variable?

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\\'"

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

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