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\