development

Python에서 구분 된 줄에 목록 요소 인쇄

big-blog 2020. 10. 25. 12:36
반응형

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

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

(외부 괄호는 Python 3 호환성을 위해 포함되며 일반적으로 Python 2에서는 생략됩니다.)


인쇄 기능 (Python 3.x)을 사용하거나 가져 오거나 (Python 2.6 이상) :

from __future__ import print_function

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

for path in sys.path:
    print path

이런 종류의 옵션을 처리하는 또 다른 좋은 옵션은 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가 지적한 인쇄 기능 접근 방식이 우수합니다. 가능하다면 print 문 대신 print 함수를 사용하는 것이 거의 항상 좋은 생각입니다.


다음을 시도하십시오.

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

참고 URL : https://stackoverflow.com/questions/6167731/printing-list-elements-on-separated-lines-in-python

반응형