从 .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\
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\