[python] 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')


답변

이러한 종류의 옵션을 처리하는 또 다른 좋은 옵션은 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']
>>> 


답변

for path in sys.path:
    print path


답변

Sven Marnach의 대답은 거의 비슷하지만 일반성 문제가 하나 있습니다. 인쇄되는 목록에 문자열 만 포함되어 있지 않으면 실패합니다.

따라서 “개행으로 구분 된 요소로 목록을 인쇄하는 방법”에 대한보다 일반적인 대답은 …

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

그런 다음 JBernardo가 지적한 인쇄 기능 접근 방식이 우수합니다. 가능하다면 print 문 대신 print 함수를 사용하는 것이 거의 항상 좋은 생각입니다.


답변

표시 연산자 (*) 사용

기본적으로 * 연산자는 공백으로 구분 된 목록을 인쇄합니다. 사용 sep구분 기호를 지정하는 연산자

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


답변

sys.path는 경로 목록을 반환합니다.

심판

sys.path

모듈의 검색 경로를 지정하는 문자열 목록입니다. 환경 변수 PYTHONPATH 및 설치 종속 기본값 에서 초기화됩니다 .

프로그램 시작시 초기화 된대로이 목록의 첫 번째 항목 인 path [0]은 Python 인터프리터를 호출하는 데 사용 된 스크립트를 포함하는 디렉토리입니다. 스크립트 디렉토리를 사용할 수없는 경우 (예 : 인터프리터가 대화 형으로 호출되거나 스크립트가 표준 입력에서 읽혀지는 경우) path [0]은 빈 문자열이며, 이는 Python이 먼저 현재 디렉토리에서 모듈을 검색하도록 지시합니다. PYTHONPATH 의 결과로 삽입 된 항목 앞에 스크립트 디렉토리가 삽입 됩니다.

import sys
dirs=sys.path
for path in dirs:
   print(path)

또는 첫 번째 경로 만 인쇄 할 수 있습니다.

print(dir[0])