Ответ 1
print("\n".join(sys.path))
(Внешние круглые скобки включены для совместимости с Python 3 и обычно не указаны в Python 2.)
Я пытаюсь распечатать папки пути 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
print("\n".join(sys.path))
(Внешние круглые скобки включены для совместимости с Python 3 и обычно не указаны в Python 2.)
for path in sys.path:
print path
Используйте функцию печати (Python 3.x) или импортируйте ее (Python 2.6 +):
from __future__ import print_function
print(*sys.path, sep='\n')
Другим хорошим вариантом для обработки такого типа является модуль 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']
>>>
Ответ Sven Marnach в значительной степени это, но имеет одну общую проблему... Это не удастся, если напечатанный список не просто содержит строки.
Итак, более общий ответ на "Как распечатать список с элементами, разделенными символами новой строки"...
print '\n'.join([ str(myelement) for myelement in mylist ])
Опять же, указывает подход функции печати JBernardo. Если вы можете, использование функции печати вместо оператора печати почти всегда является хорошей идеей.
Попробуйте следующее:
import sys
for row in sys.path:
print(row)