Подтвердить что ты не робот

Печать элементов списка на выделенных линиях в Python

Я пытаюсь распечатать папки пути Python, используя это:

import sys
print sys.path

Вывод выглядит следующим образом:

>>> print sys.path
['.', '/usr/bin', '/home/student/Desktop', '/home/student/my_modules', '/usr/lib/pyth
on2.6', '/usr/lib/python2.6/plat-linux2', '/usr/lib/python2.6/lib-tk', '/usr/lib/pyth
on2.6/lib-old', '/usr/lib/python2.6/lib-dynload', '/usr/local/lib/python2.6/dist-pack
ages', '/usr/lib/python2.6/dist-packages', '/usr/lib/python2.6/dist-packages/PIL', '/
usr/lib/python2.6/dist-packages/gst-0.10', '/usr/lib/pymodules/python2.6', '/usr/lib/
python2.6/dist-packages/gtk-2.0', '/usr/lib/pymodules/python2.6/gtk-2.0', '/usr/lib/p
ython2.6/dist-packages/wx-2.8-gtk2-unicode']

Как напечатать их в отдельных строках, чтобы я мог правильно их разобрать?

Это должно быть так:

/usr/bin
/home/student/Desktop
/home/student/my_modules
etc
4b9b3361

Ответ 1

print("\n".join(sys.path))

(Внешние круглые скобки включены для совместимости с Python 3 и обычно не указаны в Python 2.)

Ответ 2

for path in sys.path:
    print path

Ответ 3

Используйте функцию печати (Python 3.x) или импортируйте ее (Python 2.6 +):

from __future__ import print_function

print(*sys.path, sep='\n')

Ответ 4

Другим хорошим вариантом для обработки такого типа является модуль pprint, который (среди прочего) довольно печатает длинные списки с одним элементом на строку:

>>> import sys
>>> import pprint
>>> pprint.pprint(sys.path)
['',
 '/usr/lib/python27.zip',
 '/usr/lib/python2.7',
 '/usr/lib/python2.7/plat-linux2',
 '/usr/lib/python2.7/lib-tk',
 '/usr/lib/python2.7/lib-old',
 '/usr/lib/python2.7/lib-dynload',
 '/usr/lib/python2.7/site-packages',
 '/usr/lib/python2.7/site-packages/PIL',
 '/usr/lib/python2.7/site-packages/gst-0.10',
 '/usr/lib/python2.7/site-packages/gtk-2.0',
 '/usr/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg-info',
 '/usr/lib/python2.7/site-packages/webkit-1.0']
>>> 

Ответ 5

Ответ Sven Marnach в значительной степени это, но имеет одну общую проблему... Это не удастся, если напечатанный список не просто содержит строки.

Итак, более общий ответ на "Как распечатать список с элементами, разделенными символами новой строки"...

print '\n'.join([ str(myelement) for myelement in mylist ])

Опять же, указывает подход функции печати JBernardo. Если вы можете, использование функции печати вместо оператора печати почти всегда является хорошей идеей.

Ответ 6

Попробуйте следующее:

import sys
for row in sys.path:
     print(row)