1: sys는 Python에 내장된 모듈입니다.
import 문을 사용하여 sys 모듈에 들어갑니다.
관련 권장 사항: "python video"
import sys가 실행되면 Python은 sys.path 변수에 나열된 디렉터리에서 sys 모듈 파일을 찾습니다. 그런 다음 이 모듈의 메인 블록에 있는 명령문을 실행하여 초기화하면 모듈을 사용할 수 있습니다.
2: sys 모듈의 공통 기능
dir() 메소드를 통해 모듈에서 사용 가능한 메소드를 확인할 수 있습니다. 그 결과는 다음과 같습니다. 아직 많이 사용하지 않았기 때문에 간단히 소개하겠습니다.
$ python Python 2.7.6 (default, Oct 26 2016, 20:30:19) [GCC 4.8.4] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import sys >>> dir(sys) ['__displayhook__', '__doc__', '__excepthook__', '__name__', '__package__', '__stderr__', '__stdin__', '__stdout__', '_clear_type_cache', '_current_frames', '_getframe', '_mercurial', '_multiarch', 'api_version', 'argv', 'builtin_module_names', 'byteorder', 'call_tracing', 'callstats', 'copyright', 'displayhook', 'dont_write_bytecode', 'exc_clear', 'exc_info', 'exc_type', 'excepthook', 'exec_prefix', 'executable', 'exit', 'flags', 'float_info', 'float_repr_style', 'getcheckinterval', 'getdefaultencoding', 'getdlopenflags', 'getfilesystemencoding', 'getprofile', 'getrecursionlimit', 'getrefcount', 'getsizeof', 'gettrace', 'hexversion', 'long_info', 'maxint', 'maxsize', 'maxunicode', 'meta_path', 'modules', 'path', 'path_hooks', 'path_importer_cache', 'platform', 'prefix', 'ps1', 'ps2', 'py3kwarning', 'pydebug', 'setcheckinterval', 'setdlopenflags', 'setprofile', 'setrecursionlimit', 'settrace', 'stderr', 'stdin', 'stdout', 'subversion', 'version', 'version_info', 'warnoptions']
(1) sys.argv는 프로그램 외부에서 프로그램으로 매개변수 전달을 구현합니다. sys.argv 변수는 명령줄 매개변수를 포함하는 문자열 목록입니다. 그 중 스크립트 이름은 항상 sys.argv 목록의 첫 번째 매개변수입니다.
(2) sys.path에는 입력 모듈의 디렉터리 이름 목록이 포함되어 있습니다.
지정된 모듈 검색 경로의 문자열 모음을 가져옵니다. 작성한 모듈을 가져온 특정 경로에 넣을 수 있으며 프로그램에서 가져올 때 올바르게 찾을 수 있습니다. module_name을 가져올 때 sys.path의 경로를 기준으로 module.name이 검색됩니다. 모듈 경로를 사용자 정의할 수도 있습니다.
sys.path.append("Custom module path")
(3) sys.exit([arg]) 프로그램 중간에 종료, arg=0은 정상 종료를 의미
일반적으로 다음 위치까지 실행됩니다. 인터프리터는 자동으로 종료되지만 프로그램을 중간에 종료해야 하는 경우 호출 프로그램에 반환된 선택적 정수 매개 변수를 사용하여 sys.exit 함수를 호출할 수 있습니다. 이는 sys에 대한 호출을 캡처할 수 있음을 나타냅니다. 메인 프로그램을 종료합니다. (0은 정상 종료를 의미하고 나머지는 예외를 의미합니다.) 물론 문자열 매개변수를 사용하여 실패한 오류 메시지를 나타낼 수도 있습니다.
(4) sys.modules
sys.modules는 Python이 시작된 후 메모리에 로드되는 전역 사전입니다. 프로그래머가 새 모듈을 가져올 때마다 sys.modules는 자동으로 모듈을 기록합니다. 모듈을 두 번째로 가져오면 Python은 사전에서 직접 해당 모듈을 찾아 프로그램 속도를 높입니다.
(5) sys.getdefaultencoding() / sys.setdefaultencoding() / sys.getfilesystemencoding()
sys.getdefaultencoding()
시스템의 현재 인코딩을 가져옵니다. 일반적으로 기본값은 ASCII입니다.
sys.setdefaultencoding()
시스템 기본 인코딩을 설정합니다. dir(sys) 실행 시 이 메서드가 표시되지 않습니다. 인터프리터에서 실행이 실패하면 reload(sys)를 먼저 실행한 다음 setdefaultencoding( 'utf8' ), 이때 시스템 기본 인코딩은 utf8로 설정됩니다. (시스템 기본 인코딩 설정 참조)
sys.getfilesystemencoding()
파일 시스템에서 사용하는 인코딩을 가져옵니다. Windows에서는 'mbcs'를 반환하고 mac에서는 'utf-8'을 반환합니다
(6) sys.stdin, sys .stdout , sys.stderr
stdin , stdout 및 stderr 변수에는 출력에 대한 추가 제어가 필요하고 인쇄가 요구 사항을 충족하지 않는 경우에도 필요합니다. 이를 교체한 다음 출력 및 입력을 다른 장치(장치)로 리디렉션하거나 비표준 방식으로 처리할 수 있습니다.
(7) sys.platform
win32, Linux와 같은 현재 시스템 플랫폼을 가져옵니다. 기다리다.
3: 예(1) sys.argv sys.path
$ cat sys-test.py #!/usr/bin/python import sys print 'The command line arguments are:' for i in sys.argv: print i print '\n\nThe PYTHONPATH is', sys.path, '\n'
실행 결과:
$ python sys-test.py my name is ubuntu The command line arguments are: sys-test.py my name is ubuntu The PYTHONPATH is ['/work/python-practice', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/PILcompat', '/usr/lib/python2.7/dist-packages/gtk-2.0', '/usr/lib/pymodules/python2.7', '/usr/lib/python2.7/dist-packages/ubuntu-sso-client']
(2) sys.exit
import sys def exitfunc(value): print (value) sys.exit(0) print("hello") try: sys.exit(90) except SystemExit as value: exitfunc(value) print("come?")
실행 결과:
hello 90
프로그램이 먼저 hello를 인쇄한 다음 종료(90)를 실행하고 예외를 발생시키고 값에 90을 전달합니다. 값은 전달된 함수에서 실행되고 프로그램은 90을 인쇄하고 종료됩니다. 다음 "come?"은 이미 종료되었기 때문에 출력되지 않습니다. 이때, exitfunc 함수에서 sys.exit(0)을 제거하면 "come?"이 출력될 때까지 프로그램이 계속 실행됩니다. (3) sys .modules
sys.modules.keys()는 가져온 모든 모듈의 목록을 반환합니다.
keys는 모듈 이름이고
values는 모듈입니다.
모듈 반환 경로
import sys print(sys.modules.keys()) print("**************************************************************************") print(sys.modules.values()) print("**************************************************************************") print(sys.modules["os"])
실행 결과:
['copy_reg', 'sre_compile', '_sre', 'encodings', 'site', '__builtin__', 'sysconfig', '__main__', 'encodings.encodings', 'abc', 'posixpath', '_weakrefset', 'errno', 'encodings.codecs', 'sre_constants', 're', '_abcoll', 'types', '_codecs', 'encodings.__builtin__', '_warnings', 'genericpath', 'stat', 'zipimport', '_sysconfigdata', 'warnings', 'UserDict', 'encodings.ascii', 'sys', 'codecs', '_sysconfigdata_nd', 'os.path', 'sitecustomize', 'signal', 'traceback', 'linecache', 'posix', 'encodings.aliases', 'exceptions', 'sre_parse', 'os', '_weakref'] ******************************************************************************* [<module 'copy_reg' from '/usr/lib/python2.7/copy_reg.pyc'>, <module 'sre_compile' from '/usr/lib/python2.7/sre_compile.pyc'>, <module '_sre' (built-in)>, <module 'encodings' from '/usr/lib/python2.7/encodings/__init__.pyc'>, <module 'site' from '/usr/lib/python2.7/site.pyc'>, <module '__builtin__' (built-in)>, <module 'sysconfig' from '/usr/lib/python2.7/sysconfig.pyc'>, <module '__main__' from 'sys-test1.py'>, None, <module 'abc' from '/usr/lib/python2.7/abc.pyc'>, <module 'posixpath' from '/usr/lib/python2.7/posixpath.pyc'>, <module '_weakrefset' from '/usr/lib/python2.7/_weakrefset.pyc'>, <module 'errno' (built-in)>, None, <module 'sre_constants' from '/usr/lib/python2.7/sre_constants.pyc'>, <module 're' from '/usr/lib/python2.7/re.pyc'>, <module '_abcoll' from '/usr/lib/python2.7/_abcoll.pyc'>, <module 'types' from '/usr/lib/python2.7/types.pyc'>, <module '_codecs' (built-in)>, None, <module '_warnings' (built-in)>, <module 'genericpath' from '/usr/lib/python2.7/genericpath.pyc'>, <module 'stat' from '/usr/lib/python2.7/stat.pyc'>, <module 'zipimport' (built-in)>, <module '_sysconfigdata' from '/usr/lib/python2.7/_sysconfigdata.pyc'>, <module 'warnings' from '/usr/lib/python2.7/warnings.pyc'>, <module 'UserDict' from '/usr/lib/python2.7/UserDict.pyc'>, <module 'encodings.ascii' from '/usr/lib/python2.7/encodings/ascii.pyc'>, <module 'sys' (built-in)>, <module 'codecs' from '/usr/lib/python2.7/codecs.pyc'>, <module '_sysconfigdata_nd' from '/usr/lib/python2.7/plat-x86_64-linux-gnu/_sysconfigdata_nd.pyc'>, <module 'posixpath' from '/usr/lib/python2.7/posixpath.pyc'>, <module 'sitecustomize' from '/usr/lib/python2.7/sitecustomize.pyc'>, <module 'signal' (built-in)>, <module 'traceback' from '/usr/lib/python2.7/traceback.pyc'>, <module 'linecache' from '/usr/lib/python2.7/linecache.pyc'>, <module 'posix' (built-in)>, <module 'encodings.aliases' from '/usr/lib/python2.7/encodings/aliases.pyc'>, <module 'exceptions' (built-in)>, <module 'sre_parse' from '/usr/lib/python2.7/sre_parse.pyc'>, <module 'os' from '/usr/lib/python2.7/os.pyc'>, <module '_weakref' (built-in)>] ******************************************************************************* <module 'os' from '/usr/lib/python2.7/os.pyc'>
(4) sys.stdin /sys.stdout/sys.stderr
stdin, stdout 및 stderr은 모두 Python의 파일 속성 개체입니다. python이 시작됩니다. 쉘 I/O 리디렉션의 Python 프로그램은 쉘에서 제공되며 Python 자체와는 아무런 관련이 없습니다. Python 프로그램은 내부적으로 stdin, stdout 및 stderr 읽기 및 쓰기 작업을 내부 개체로 리디렉션합니다. 표준 입력
import sys #print('Hi, %s!' %input('Please enter your name: ')) python3.*版本用input print('Hi, %s!' %raw_input('Please enter your name: ')) #python2.*版本用raw_input 运行结果: Please enter your name: er Hi, er! 等同于: #!/usr/bin/python import sys print('Please enter your name:') name=sys.stdin.readline()[:-1] print('Hi, %s!' %name) 标准输出 print('Hello World!\n') 等同于: #!/usr/bin/python import sys sys.stdout.write('output resule is good!\n') 其他实验 #!/usr/bin/python import sys for i in (sys.stdin, sys.stdout, sys.stderr): print(i)실행 결과:
python sys-test1.py <open file '<stdin>', mode 'r' at 0x7fa4e630f0c0> <open file '<stdout>', mode 'w' at 0x7fa4e630f150> <open file '<stderr>', mode 'w' at 0x7fa4e630f1e0>
위 내용은 Python sys 모듈에 대한 기본 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

Python은 웹 개발, 데이터 과학, 기계 학습, 자동화 및 스크립팅 분야에서 널리 사용됩니다. 1) 웹 개발에서 Django 및 Flask 프레임 워크는 개발 프로세스를 단순화합니다. 2) 데이터 과학 및 기계 학습 분야에서 Numpy, Pandas, Scikit-Learn 및 Tensorflow 라이브러리는 강력한 지원을 제공합니다. 3) 자동화 및 스크립팅 측면에서 Python은 자동화 된 테스트 및 시스템 관리와 같은 작업에 적합합니다.

2 시간 이내에 파이썬의 기본 사항을 배울 수 있습니다. 1. 변수 및 데이터 유형을 배우십시오. 이를 통해 간단한 파이썬 프로그램 작성을 시작하는 데 도움이됩니다.

10 시간 이내에 컴퓨터 초보자 프로그래밍 기본 사항을 가르치는 방법은 무엇입니까? 컴퓨터 초보자에게 프로그래밍 지식을 가르치는 데 10 시간 밖에 걸리지 않는다면 무엇을 가르치기로 선택 하시겠습니까?

Fiddlerevery Where를 사용할 때 Man-in-the-Middle Reading에 Fiddlereverywhere를 사용할 때 감지되는 방법 ...

Python 3.6에 피클 파일로드 3.6 환경 보고서 오류 : modulenotfounderror : nomodulename ...

경치 좋은 스팟 댓글 분석에서 Jieba Word 세분화 문제를 해결하는 방법은 무엇입니까? 경치가 좋은 스팟 댓글 및 분석을 수행 할 때 종종 Jieba Word 세분화 도구를 사용하여 텍스트를 처리합니다 ...

정규 표현식을 사용하여 첫 번째 닫힌 태그와 정지와 일치하는 방법은 무엇입니까? HTML 또는 기타 마크 업 언어를 다룰 때는 정규 표현식이 종종 필요합니다.

Investing.com의 크롤링 전략 이해 많은 사람들이 종종 Investing.com (https://cn.investing.com/news/latest-news)에서 뉴스 데이터를 크롤링하려고합니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

WebStorm Mac 버전
유용한 JavaScript 개발 도구

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

뜨거운 주제



