Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中从列表中删除双反斜杠_Python - Fatal编程技术网

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

在python中从列表中删除双反斜杠,python,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

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

代码:

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

导入操作系统
进口舒蒂尔
sorc='D:/Try/sorc'
dest='D:/Try/dest'
#sorc的变量
文件夹\u in_sorc=[]
文件\u在\u sorc=[]
#dest的变量
文件夹\u in\u dest=[]
文件\u in\u dest=[]
对于os.walk(sorc)中的根目录、目录目录、文件目录:
对于目录中的文件夹:
文件夹\u in_sorc.append(os.path.join(os.path.abspath(root\u sorc),folder))
对于os.walk(dest)中的根目录、目录目录、文件目录:
对于目录中的文件夹:
文件\u在\u dest.append(os.path.join(root\u dest,文件夹))
打印(sorc中的文件夹)

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

import os
import shutil

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


它只是显示为双反斜杠,因为
repr
就是这样做的。它生成一个可复制的可复制字符串,您可以将其放回python程序中。实际上,它仍然是一个反斜杠。双反斜杠有什么问题?试图在windows中将其用于复制和粘贴路径,而python解释器没有得到双反斜杠,而是执行
print('\n'.join(folder\u in\u sorc))
。很抱歉,它保持不变,我试着只得到没有双反斜杠的路径等等,所以你得到的是双反斜杠的路径,但是你想要单反斜杠?
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