Выполнение 'делает тест' на отдельном модуле для сборки Python 2.7.4

Я предпочел бы find ls. С находкой можно указать много опций, таких как глубина каталога (минута и макс.), получить доступ/изменить ко времени, использовать регулярные выражения и многое другое. Взгляните на страницу справочника находки.

runejuhl@lapaz:~/Pictures$ find . -iname '*.jpg'|head
./2011/03/09/CIMG9447.JPG
./2011/03/09/CIMG9445.JPG
./2011/03/09/CIMG9444.JPG
./2011/03/09/CIMG9442.JPG
./2011/03/09/CIMG9443.JPG
./2011/03/09/CIMG9440.JPG
./2011/03/09/CIMG9441.JPG
./2011/03/09/CIMG9446.JPG
./2011/06/26/CIMG9512.JPG
./2011/06/26/CIMG9585.JPG

runejuhl@lapaz:~/Pictures$ find . -maxdepth 2 -iname '*.jpg' |head
./Webcam/2012-01-10-120822.jpg
./Webcam/2010-11-08-192524.jpg
./Webcam/2012-01-10-170146.jpg
./Webcam/2012-01-10-120928_4.jpg
./Webcam/2012-01-10-120835_4.jpg
./Webcam/2012-01-10-120928_3.jpg
./Webcam/2012-01-10-120828.jpg
./Webcam/2012-01-10-120928_2.jpg
./Webcam/2012-01-10-120945_1.jpg
./Webcam/2012-01-10-120945_2.jpg

Для получения только имени файла можно использовать -printf аргумент:

- формат printf

Верный; формат печати на стандартном выводе, интерпретируя \' escapes and%' директивы. Ширина поля и точность могут быть указаны как с printf' C function. Please note that many of the fields are printed as %s rather than %d, and this may mean that flags don't work as you might expect. This also means that the-' флаг действительно работает (он вынуждает поля быть выровненными по левому краю). В отличие от этого - печать,-printf не добавляет новую строку в конце строки.

(посмотрите на страницу справочника для получения дополнительной информации),

Для печати только имени файла Вы использовали бы printf с "%f":

runejuhl@lapaz:~/Pictures$ find . -maxdepth 2 -iname '*.jpg' -printf '%f\n' |head
2012-01-10-120822.jpg
2010-11-08-192524.jpg
2012-01-10-170146.jpg
2012-01-10-120928_4.jpg
2012-01-10-120835_4.jpg
2012-01-10-120928_3.jpg
2012-01-10-120828.jpg
2012-01-10-120928_2.jpg
2012-01-10-120945_1.jpg
2012-01-10-120945_2.jpg

При использовании xargs и передаче имени файла таким образом, это могла бы быть хорошая идея использовать "%f\0" и xargs -0 использовать пустые разделители.

Когда Вы чувствуете себя подобно ему, взглянули на -print0 аргумент и очень хороший взгляд на xargs или параллель

3
24.04.2013, 17:14
1 ответ

Фактические строки приблизительно 679 в Lib/test/regrtest.py:

NOTTESTS = {
    'test_support',
    'test_future1',
    'test_future2',
}

Это определяет изменяемый набор и является синтаксисом, бэкпортированным от 3,1 до 2,7. Этот синтаксис не доступен в 2,6 или более ранняя версия Python.

То, что Ваш тест повышает синтаксическую ошибку, вероятно, потому что Ваш Python по умолчанию пред2.7. Если Вы выполнились бы:

./python Lib/test/regrtest.py -v test_gdb
^-- this is the difference

в том каталоге Вы тестировали бы python исполняемый файл Вы просто скомпилировали а не значение по умолчанию один обеспеченный в Вашем пути. Используя тот исполняемый файл Вы вряд ли получите эту конкретную ошибку (но возможно другие, которые являются действительно gdb связанный).

7
27.01.2020, 21:13
  • 1
    Вы закрепили его. Значение по умолчанию python в моем ПУТИ был 2.6. Используя недавно скомпилированный Python вместо этого с ./python, Я смог на самом деле запустить отдельный тест.Удачи! –  Banjer 26.04.2013, 03:32

Теги

Похожие вопросы