当我尝试列出所有文件名时获取特殊字符
Getting special characters when I try to list out all filenames
我正在使用 Google Colab,我对它还很陌生,所以请原谅我的无知。我正在尝试获取某个文件夹中所有帧的文件名。
filenames_pics = !ls {PATH}/Pictures
我这样做是为了尝试复制所有文件名。
我尝试打印时得到的输出是
['frame1000.png\tframe15320.png\tframe436.png frame572.png frame680.png',
'frame1004.png\tframe15324.png\tframe440.png frame576.png frame684.png',
'frame1008.png\tframe1588.png\tframe508.png frame580.png frame688.png',
'frame100.png\tframe1592.png\tframe512.png frame584.png frame692.png',
'frame1012.png\tframe16432.png\tframe516.png frame588.png frame696.png']
有趣的是,所有第一个值都有这个'\t',里面有三个框架名称,这让我很生气。
我所有的文件名都是有序的
请帮忙!
您只需将 '\t
替换为 space 即可匹配模式
lst=['frame1000.png\tframe15320.png\tframe436.png frame572.png frame680.png',
'frame1004.png\tframe15324.png\tframe440.png frame576.png frame684.png',
'frame1008.png\tframe1588.png\tframe508.png frame580.png frame688.png',
'frame100.png\tframe1592.png\tframe512.png frame584.png frame692.png',
'frame1012.png\tframe16432.png\tframe516.png frame588.png frame696.png']
l=[]
import re
for i in lst:
l.append(re.sub('\s{2,}|\t',' ',i))
print(l)
输出:
['frame1000.png frame15320.png frame436.png frame572.png frame680.png',
'frame1004.png frame15324.png frame440.png frame576.png frame684.png',
'frame1008.png frame1588.png frame508.png frame580.png frame688.png',
'frame100.png frame1592.png frame512.png frame584.png frame692.png',
'frame1012.png frame16432.png frame516.png frame588.png frame696.png']
使用内置的 Python os.listdir
函数可能更简单。
这是一个完整的例子:
https://colab.research.google.com/drive/1EKhDSUHBfzGdRPxm9gBGPfDGQ2vX5cPe
关键片段:
# Python code to list the directory.
import os
pictures = os.listdir('Pictures/')
for fname in pictures:
print (fname)
print ('full path', os.path.join(os.getcwd(), fname))
我正在使用 Google Colab,我对它还很陌生,所以请原谅我的无知。我正在尝试获取某个文件夹中所有帧的文件名。
filenames_pics = !ls {PATH}/Pictures
我这样做是为了尝试复制所有文件名。
我尝试打印时得到的输出是
['frame1000.png\tframe15320.png\tframe436.png frame572.png frame680.png',
'frame1004.png\tframe15324.png\tframe440.png frame576.png frame684.png',
'frame1008.png\tframe1588.png\tframe508.png frame580.png frame688.png',
'frame100.png\tframe1592.png\tframe512.png frame584.png frame692.png',
'frame1012.png\tframe16432.png\tframe516.png frame588.png frame696.png']
有趣的是,所有第一个值都有这个'\t',里面有三个框架名称,这让我很生气。
我所有的文件名都是有序的
请帮忙!
您只需将 '\t
替换为 space 即可匹配模式
lst=['frame1000.png\tframe15320.png\tframe436.png frame572.png frame680.png',
'frame1004.png\tframe15324.png\tframe440.png frame576.png frame684.png',
'frame1008.png\tframe1588.png\tframe508.png frame580.png frame688.png',
'frame100.png\tframe1592.png\tframe512.png frame584.png frame692.png',
'frame1012.png\tframe16432.png\tframe516.png frame588.png frame696.png']
l=[]
import re
for i in lst:
l.append(re.sub('\s{2,}|\t',' ',i))
print(l)
输出:
['frame1000.png frame15320.png frame436.png frame572.png frame680.png',
'frame1004.png frame15324.png frame440.png frame576.png frame684.png',
'frame1008.png frame1588.png frame508.png frame580.png frame688.png',
'frame100.png frame1592.png frame512.png frame584.png frame692.png',
'frame1012.png frame16432.png frame516.png frame588.png frame696.png']
使用内置的 Python os.listdir
函数可能更简单。
这是一个完整的例子:
https://colab.research.google.com/drive/1EKhDSUHBfzGdRPxm9gBGPfDGQ2vX5cPe
关键片段:
# Python code to list the directory.
import os
pictures = os.listdir('Pictures/')
for fname in pictures:
print (fname)
print ('full path', os.path.join(os.getcwd(), fname))