连接字符串时转义字符



尝试从文件夹读取。csv文件内容。示例代码:

Files_in_folder = os.listdir(r"\folder1folder2")
Filename_list = []
For filename in files_in_folder:
If "sometext" in filename:
Filename_list.append(filename)
Read_this_file = "\folder1folder2"+max(filename_list)
Data = pandas.read_csv(Read_this_file,sep=',')

获取最大文件名工作,但Data变量失败:

FileNotFoundError: no such file or directory.

我能够访问文件夹,正如我们在第一行代码中看到的,但是当我组合两个字符串时,把r放在前面不起作用,有什么想法吗?

您需要在连接时将添加到您的路径中:

read_this_file = '\folder1\folder2\' + max(filename_list)

但是避免这个问题的更好方法是使用

os.path.join("\folder1\folder2", max(filename_list))

对于一个工作代码,使用如下:


files_in_folder = os.listdir("folder1/folder2/")
filename_list = []
for filename in files_in_folder:
if "sometext" in filename:
filename_list.append(filename)
read_this_file = "folder1/folder2/"+max(filename_list)
data = pd.read_csv(read_this_file,sep=',')

解释:

将r放在字符串前面时,反斜杠后面的字符不加更改地包含在字符串中,并且所有反斜杠都保留在字符串中。

在您的示例中,如果您尝试打印"folder1folder2"Python将把'f'部分作为一个特殊字符读取(就像n一样)。

最新更新