Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.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
List 如何从每个列表项中删除特定字符串_List_Python 3.x_Loops_Strip - Fatal编程技术网

List 如何从每个列表项中删除特定字符串

List 如何从每个列表项中删除特定字符串,list,python-3.x,loops,strip,List,Python 3.x,Loops,Strip,我在C:\中有list文件路径,存储在名为filepath的列表中,现在我必须在执行for循环时从所有filepath中剥离C:\ 循环时我找不到strip方法,因为每个元素都是Typelist。请在下面找到我的代码 filepaths = ['C:\folder\file1.jpg','C:\file2.png','C:\file3.xls'] tobestriped = 'C:\' for filepath in filepaths: newfilepath = filepath.s

我在
C:\
中有
list
文件路径,存储在名为
filepath
的列表中,现在我必须在执行for循环时从所有
filepath
中剥离
C:\

循环时我找不到strip方法,因为每个元素都是Type
list
。请在下面找到我的代码

filepaths = ['C:\folder\file1.jpg','C:\file2.png','C:\file3.xls']
tobestriped = 'C:\'
for filepath in filepaths:
    newfilepath = filepath.strip(tobestriped)
    print(newfilepath)

首先,在
tobestried
中,您将得到一个错误,因为
\'
将被转义。您可以使用
tobestriped='C:\\'

答复如下:

“原始字符串文字”是与字符串稍有不同的语法 字面意思,其中反斜杠\表示“只是一个字母” 反斜杠“(除非它正好在引用之前 否则,终止文本)--没有要表示的“转义序列” 换行符、制表符、退格、表单提要等。正常字符串 文字,每个反斜杠必须加倍,以避免被视为 转义序列的开始

接下来,路径列表中的
\f
也将被转义。要解决此问题,请将这些字符串设置为原始字符串:

filepaths = [r'C:\folder\file1.jpg', r'C:\file2.png', r'C:\file3.xls']
a您将获得所需的结果:

filepaths = [r'C:\folder\file1.jpg', r'C:\file2.png', r'C:\file3.xls']
tobestriped = 'C:\\'

for filepath in filepaths:
    newfilepath = filepath.strip(tobestriped)
    print(newfilepath)
输出:

folder\file1.jpg
file2.png
file3.xls
解决方案的另一种选择是利用以下事实:所有字符串都以
C:\
开头,因此可以执行以下操作:

print([x[3:] for x in filepaths])

我不能像你在回答中提到的那样做
newfilepath=filepath.strip(tobestriped)
。我得到了这个错误,
AttributeError:“list”对象没有属性“strip”
根据您提供的数据,我的每个解决方案都有效。如果您的路径以列表的形式出现,那么就在for循环之前:
flat\u list=[item for sublist in l for item in sublist]
如果我正在读取一个csv文件并制作
filepath
列表,那么在方法上会有什么不同吗?我们不要让这成为一个永无止境的故事。发布所有相关代码以及数据的实际外观