Получение специальных символов при попытке перечислить все имена файлов - PullRequest
0 голосов
/ 07 ноября 2018

Я использую 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' с тремя именами фреймов, и это просто сводит меня с ума.

Все мои имена файлов в одере

Пожалуйста, помогите!

Ответы [ 2 ]

0 голосов
/ 07 ноября 2018

Вероятно, проще использовать встроенную функцию 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))
0 голосов
/ 07 ноября 2018

Вы можете просто заменить '\t пробелом, чтобы соответствовать шаблону

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']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...