Python 예외 및 파일 처리 메커니즘에 대한 자세한 설명
이 문서의 예에서는 Python 예외 및 파일 처리 메커니즘을 설명합니다. 참고하실 수 있도록 모든 사람과 공유하세요. 자세한 내용은 다음과 같습니다.
1 예외 처리
Python에서의 예외 사용
시도해 보세요
제외
드디어
그리고 Except 뒤에 else 가 올 수도 있습니다.
예외를 발생시키려면 raise를 사용하세요
발생한 예외가 처리되지 않으면 Python IDE에 빨간색 정보가 표시됩니다. 이로 인해 프로그램이 종료됩니다.
이전에 몇 가지 이상 현상을 목격했습니다.사용된 키가 사전에 없으면 KeyError 예외가 발생합니다. 예:
>>> d = {"a":1, "b":"abc"} >>> d["c"] Traceback (most recent call last): File "<interactive input>", line 1, in <module> KeyError: 'c'
>>> li = [1,2] >>> li.index(3) Traceback (most recent call last): File "<interactive input>", line 1, in <module> ValueError: list.index(x): x not in list
>>> li[2] Traceback (most recent call last): File "<interactive input>", line 1, in <module> IndexError: list index out of range
존재하지 않는 변수를 참조하면 NameError 예외가 발생합니다.
강제 없이 데이터 유형을 혼합하면 TypeError 예외가 발생합니다.
파일 작업 오류로 인해 발생한 IOError:
try: fsock = open("/notthere") except IOError: print "The file dose not exits..." else: print "open the file." print "this line will always print"
open은 파일을 여는 데 사용되는 내장 함수입니다.
try Except 뒤에 else 문이 올 수 있습니다. 지정된 예외가 catch되지 않으면 else 문이 실행됩니다.
모듈을 가져올 때 모듈이 없으면 ImportError 예외가 발생합니다.
자신만의 예외 클래스를 정의할 수도 있습니다. 그런 다음 예외를 발생시켜야 할 때 raise를 사용하세요.
2 파일 개체 작업앞서 언급했듯이 open은 파일을 열고 파일 객체를 반환하는 데 사용할 수 있습니다.
open(name[, mode[, buffering]])
>>> f = open("/music/_singles/kairo.mp3", "rb")
열 수 없는 경우 open은 IOError 예외를 발생시킵니다.
이제 이름 속성과 모드 속성을 사용하여 파일 개체를 쿼리할 수 있습니다. 예:
>>> f.name '/music/_singles/kairo.mp3' >>> f.mode 'rb'
>>> f.tell()
0 >>> f.seek(0, 2)
찾은 주소가 잘못된 경우(예: 범위 초과) IOError 예외가 발생합니다.
따라서 이 명령문은 파일 포인터를 파일 끝으로 이동합니다.
>>> f.tell()
>>> f.seek(-128, 2) >>> data = f.read(128)
read 매개변수는 읽을 최대 바이트 수를 나타냅니다. 이 매개변수는 파일 끝까지 읽는다는 의미도 있습니다.
읽는 동안 오류가 발생하면(예: 디스크의 불량 섹터 또는 네트워크 연결 끊김) IOError 예외가 발생합니다.
>>> f.closed
False >>> f.close()
>>> f.closed True
>>> f1 = open('test.log', 'w')
>>> f1.write('abc') >>> f1.close() >>> file('test.log').read()
'abc'
3 for 루프Python에서는 목록을 순회하는 데 사용됩니다. 예:
>>> li = [1, 2, 3] >>> for i in li:
... i 인쇄
...
1
2
3
이 출력은 print "n".joni(li)와 동일합니다.
>>> for i in range(len(li)) : print li[i] ... 1 2 3
>>> d = {1:"abc", 2:"def"} >>> for k, v in d.items() : print "%d = %s" % (k, v) ... 1 = abc 2 = def
Python에서 모듈은 sys 모듈에 정의된 전역 사전 객체입니다.
모듈을 가져오면 sys.modules에서 찾을 수 있습니다.
각 클래스에는 내장된 "클래스 속성"( __module__ )이 있습니다. 해당 값은 클래스를 정의하는 모듈의 이름입니다.
5 디렉토리 작업os.path가 참조하는 모듈에는 파일과 디렉터리를 운영하기 위한 여러 기능이 있습니다. 예:
这个join函数用来将一个或多个字符串构造成一个路径名.
'c:\music\mahadeva.mp3' >>> os.path.expanduser("~")
expanduser函数用'~'作参数时. 返回当前用户根目录.
'c:\Documents and Settings\mpilgrim\My Documents'
>>> (filepath, filename) = os.path.split("c:\music\a.mp3")
split函数用来将一个路径名分成目录名和文件名. 它返回的是一个tuple. 用返回的tuple对(filepath, filename)赋值.
>>> filepath 'c:\music' >>> filename 'a.mp3' >>> (a, b) = os.path.splitext("a.mp3")
类似的. 这个splitext用来将一个全文件名分成 文件名 和 扩展名 两部分.
>>> a 'a' >>> b '.mp3'
列出目录用:
>>> os.listdir("c:\")
这个函数将返回一个字符串list. 包括所有的文件和文件夹的名字.
['boot.ini', 'CONFIG.SYS', 'AUTOEXEC.BAT', 'java', 等]
要判断一个字符串路径到底是一个文件还是一个文件夹. 用os.path模块中的 isfile() 或 isdir(). 如:
>>> [f for f in os.listdir("c:") if os.path.isdir(os.path.join("c:", f))]
这样就打印出c中所有文件夹名构成的list.
如果要在目录操作中使用通配符. 可以如下:
>>> import glob
要先导入 glob 模块
>>> glob.glob('c:\music\*.mp3')
则返回的list中包含了该目录下所有的 .mp3 后缀的文件名.
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python文件与目录操作技巧汇总》、《Python图片操作技巧总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python编码操作技巧总结》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。

핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

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

드림위버 CS6
시각적 웹 개발 도구

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

뜨거운 주제











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

"Debiantrings"는 표준 용어가 아니며 구체적인 의미는 여전히 불분명합니다. 이 기사는 브라우저 호환성에 직접 언급 할 수 없습니다. 그러나 "Debiantrings"가 Debian 시스템에서 실행되는 웹 응용 프로그램을 지칭하는 경우 브라우저 호환성은 응용 프로그램 자체의 기술 아키텍처에 따라 다릅니다. 대부분의 최신 웹 응용 프로그램은 크로스 브라우저 호환성에 전념합니다. 이는 웹 표준에 따라 웹 표준과 잘 호환 가능한 프론트 엔드 기술 (예 : HTML, CSS, JavaScript) 및 백엔드 기술 (PHP, Python, Node.js 등)을 사용하는 데 의존합니다. 응용 프로그램이 여러 브라우저와 호환되도록 개발자는 종종 브라우저 크로스 테스트를 수행하고 응답 성을 사용해야합니다.

모바일 XML에서 PDF의 속도는 다음 요인에 따라 다릅니다. XML 구조의 복잡성. 모바일 하드웨어 구성 변환 방법 (라이브러리, 알고리즘) 코드 품질 최적화 방법 (효율적인 라이브러리 선택, 알고리즘 최적화, 캐시 데이터 및 다중 스레딩 사용). 전반적으로 절대적인 답변은 없으며 특정 상황에 따라 최적화해야합니다.

XML 컨텐츠를 수정하려면 프로그래밍이 필요합니다. 대상 노드를 추가, 삭제, 수정 및 확인하려면 정확한 찾기가 필요하기 때문입니다. 프로그래밍 언어에는 XML을 처리하기위한 해당 라이브러리가 있으며 운영 데이터베이스와 같이 안전하고 효율적이며 제어 가능한 작업을 수행 할 수있는 API를 제공합니다.

XML을 PDF로 직접 변환하는 응용 프로그램은 근본적으로 다른 두 형식이므로 찾을 수 없습니다. XML은 데이터를 저장하는 데 사용되는 반면 PDF는 문서를 표시하는 데 사용됩니다. 변환을 완료하려면 Python 및 ReportLab과 같은 프로그래밍 언어 및 라이브러리를 사용하여 XML 데이터를 구문 분석하고 PDF 문서를 생성 할 수 있습니다.

작은 XML 파일의 경우 주석 내용을 텍스트 편집기로 직접 교체 할 수 있습니다. 큰 파일의 경우 XML 파서를 사용하여 효율성과 정확성을 보장하기 위해 수정하는 것이 좋습니다. XML 주석을 삭제할 때주의를 기울이면 주석을 유지하면 일반적으로 코드 이해 및 유지 관리에 도움이됩니다. 고급 팁은 XML 파서를 사용하여 댓글을 수정하기위한 파이썬 샘플 코드를 제공하지만 사용 된 XML 라이브러리에 따라 특정 구현을 조정해야합니다. XML 파일을 수정할 때 인코딩 문제에주의하십시오. UTF-8 인코딩을 사용하고 인코딩 형식을 지정하는 것이 좋습니다.

XML 이미지를 먼저 변환하려면 먼저 XML 데이터 구조를 결정한 다음 Python의 Matplotlib와 같은 적절한 그래픽 라이브러리를 선택하고 데이터 구조를 기반으로 시각화 전략을 선택하고 데이터 볼륨 및 이미지 형식을 고려하고 효율적인 라이브러리를 수행하거나 필요에 따라 PNG, JPEG 또는 SVG로 저장하십시오.

대부분의 텍스트 편집기를 사용하여 XML 파일을여십시오. 보다 직관적 인 트리 디스플레이가 필요한 경우 Oxygen XML 편집기 또는 XMLSPy와 같은 XML 편집기를 사용할 수 있습니다. 프로그램에서 XML 데이터를 처리하는 경우 프로그래밍 언어 (예 : Python) 및 XML 라이브러 (예 : XML.etree.elementtree)를 사용하여 구문 분석해야합니다.
