在python中从列表中删除双反斜杠

2024-10-01 00:23:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图向列表中添加路径,但从列表中的每个项目中删除了双反斜杠,但我无法做到这一点

代码:

import os
import shutil

sorc = r'D:\Try\Sorc'
dest = r'D:\Try\Dest'

#variables for sorc
folder_in_sorc = []
files_in_sorc = []

#variables for dest
folder_in_dest = []
files_in_dest = []



for root_sorc, dirs_sorc, files_sorc in os.walk(sorc):
    for folder in dirs_sorc:
        folder_in_sorc.append(os.path.join(os.path.abspath(root_sorc), folder))

for root_dest, dirs_dest, files_dest in os.walk(dest):
    for folder in dirs_dest:
        files_in_dest.append(os.path.join(root_dest, folder))
print(folder_in_sorc)

Tags: pathinimport列表forosrootfiles
2条回答

尝试使用前斜杠(我知道你使用的是windows),它们对我很有用,所以我想试一下。祝你好运:)

import os
import shutil

sorc = 'D:/Try/Sorc'
dest = 'D:/Try/Dest'

#variables for sorc
folder_in_sorc = []
files_in_sorc = []

#variables for dest
folder_in_dest = []
files_in_dest = []



for root_sorc, dirs_sorc, files_sorc in os.walk(sorc):
    for folder in dirs_sorc:
        folder_in_sorc.append(os.path.join(os.path.abspath(root_sorc), folder))

for root_dest, dirs_dest, files_dest in os.walk(dest):
    for folder in dirs_dest:
        files_in_dest.append(os.path.join(root_dest, folder))
print(folder_in_sorc)

您正在打印一个list,因此Python打印列表的内部表示,因为它不是1:1可转换为字符串。
因为反斜杠在Python中是转义字符,所以它们需要自己转义。 要解决您的问题,请打印列表中的每个元素以获得真正的字符串:

import os
import shutil

sorc = r'C:\temp'
dest = r'C:\temp2'
...
for folder in folder_in_sorc:
    print(folder)

输出:

C:\temp\In
C:\temp\libui
C:\temp\pugi
C:\temp\py2exe-0.6.9
C:\temp\pylibui
C:\temp\pyNuklear
C:\temp\python-exe-unpacker
C:\temp\python-qt5
C:\temp\libui\.git

相关问题 更多 >