2014-03-31 3 views
1

일반 텍스트 HTML 파일이 있으며이 파일을 수정하는 Python 스크립트를 만들려고합니다. 라인의Python : 텍스트 파일에서 한 줄 편집

하나는 읽

var myLatlng = new google.maps.LatLng(LAT,LONG); 

내가 꺼지고 국제 우주 정거장의 좌표를 잡고 약간 파이썬 스크립트가 있습니다. 그런 다음 위도와 경도를 추가하는 파일을 수정해야합니다.

RegEx를 사용하여 한 줄만 파싱 할 수 있습니까? 나는 전체 파일을 분석하는 것을 좋아하지 않는다. 가능한 경우 어떤 모듈을 사용하는 것이 가장 좋을까요? 어떻게 그 줄을 지적하겠습니까?

+1

이 프로그램은 HTML 파일을 생성합니까

#Open the html file for writing o = open("index.html","w") #Open the html template file, replace the variables in the code. line in open("template"): line = line.replace("$LAT",lat) line = line.replace("$LON",lon) #Write the variables to the index.html file o.write(line + "\n") #Close the file o.close() 

감사 : 나는 다음을 사용하여 문제를 해결? 그렇지 않다면 [HTML 구문 분석기] (https://docs.python.org/3/library/html.parser.html) 또는 [XML 구문 분석기] (https://docs.python.org/ 2/library/xml.dom.minidom.html). – Seth

+0

[파이썬에서 파일의 라인 검색 및 바꾸기] 가능한 중복 (http://stackoverflow.com/questions/39086/search-and-replace-a-line-in-a-file-in-python) – kojiro

+0

나는 그들이 똑같은 질문처럼 보이지 않을지도 모른다는 것을 안다. 그러나 나는 궁극적으로 그것들이 있다고 생각하며,이 문제에 대해 가장 많이 상심 받았다. – kojiro

답변

0

정확하게 이해했다면 위에 쓴 줄이있는 HTML 파일이 있습니다. (LAT, LONG) 부분을 파이썬 스크립트에서 찾을 실제 lat 및 long 값으로 대체하려고합니다.

맞습니다 경우, 나는 앞서가는이 .txt 파일에 HTML 파일을 작성하는 것이 좋습니다 :이 코드를 테스트하지 않았습니다

import urllib 
import time 

while True: 

    open = urllib.urlopen(the_url_where_the_html_comes_from) 
    html = open.read() 

    my_file = open("file.txt","w") 
    my_file.write(html) 
    my_file.close() 

    #you don't need any fancy modules or RegEx to edit one unique line. 
    my_file = open("file.txt","r+") 
    text = my_file.read() 
    text.replace("LatLng(LAT,LONG)","LatLng("+lat_variable+","+long_variable+")") 
    real_text = text 
    my_file.close() 

    #now you want the change that you made to remain in that file 
    my_file = open("file.txt","w") 
    my_file.write(real_text) 
    my_file.close() 

    #if you check "file.txt", it should have those values replaced. 

    time.sleep(However long until the html updates) 

를, 그래서 작동 여부를 알려 주시기!

편집 : HTML 파일이 계속 변경되는 경우 urllib 모듈을 사용하여 HTML 파일을 업데이트 할 수 있습니다. 위의 코드를 참조하십시오.

+2

빠른 답장을 보내 주셔서 감사합니다. 뛰어난 것으로 보입니다. 유일한 문제는 html 파일이 끊임없이 변하는 것입니다. 이 코드는 한 번 작동하지만 두 번째로 좌표를 어떻게 대체할까요? – user3482179

+0

항상 "LatLng (LAT, LONG)"이 포함 된 "템플릿"html 파일을 만드십시오. 그러면 코드에서 해당 템플릿 파일을 사용할 수 있고 실제로 웹 사이트에서 사용할 파일을 덮어 쓸 수 있습니다. – Schickmeister

0

도움을 주셔서 너무 감사드립니다. 이 웹 사이트는 굉장합니다.

여기 제공된 정보를 사용하고 약간의 독서를했습니다. 다시

관련 문제