2017-03-30 2 views
-1

현재 파일의 특정 섹션을 인쇄하는 python 프로그램을 만들려고합니다. file.read() 및 file.readline() 사용하여 시도했지만 정확한 위치, 그냥 전체 줄 또는 비트 얻을 것 수 없습니다. 거기에 더 나은 기능을 사용하거나 내가 사용할 수있는 수입 있나요?파이썬을 사용하여 파일의 섹션을 읽는 방법?

내 파일 출력은 내가 값을 받아 변수에 넣어하려는

facet normal 0.00000e+00 0.00000e+00 0.00000e+00 

읽고 난으로 실행하고 문제가된다. 이 세 가지 값을 사용하여 다른 변수에 추가하는 if 문을 작성하고 싶습니다. 그러나이를 수행하는 함수를 모릅니다. 먼저 파일을 구문 분석해야합니까? 출력을 제공하기 위해

내 코드

f = open ('/pycharm/sphere.stl') 
for line in f: 
    print(line) 

가 나는 일 동안 해결하기 위해 노력하고

f = open ('/pycharm/sphere.stl') 
for line in f: 
    if line == "facet normal" 
    a = nextFloat() 
    if a == true 
     b = nextFloat() 
     if b == true 
     c = nextFloat() 
     if c == true 
     d = a + b + c 
     print (d) 

의 라인을 따라 문하지만 난 찾을 수없는 경우가 싶습니다이다 d를 입력하기 위해 파일의 출력을 사용하는 방법.

+0

파일 예를 들어주세요. – McGrady

+0

파일의 특정 줄을 읽는 것을 의미합니다.? – Suresh

+0

[Python - 파일을 열고 오프셋을 바이트 단위로 지정하려면 어떻게합니까?] (http://stackoverflow.com/questions/3299213/python-how-can-i-open-a-file-and- 바이트 단위로 지정하십시오. –

답변

-1

당신이 찾고있는 것이 regular expressions과 같은 것 같습니다. 그러나 당신은 원칙적으로 split처럼 뭔가를 할 수 있습니다 : 당신을 도와줍니다

for line in f.readlines(): 
    if line.split()[0] == 'fact normal': 
    a = nextFloat() ## the rest of your code... 

희망을.

관련 문제