2016-10-31 5 views
-2

아주 자명하다. 이것은 내 텍스트 파일입니다.색인을 사용하여 파일에서 행을 삭제하는 방법은 무엇입니까?

C:\Windows\Users\Public\Documents\ 
C:\Program Files\Text Editor\ 

그래서 나는 삭제할 행 번호를 입력하라는 메시지를 표시합니다. 그러나 번호에 해당하는 줄은 어떻게 삭제합니까?

편집 : 코드를 요청하는 사람에게

는 :

# Viewing presets 
if pathInput.lower() == 'view': 
    # Prints the lines in a numbered, vertical list. 
    numLines = 1 

    numbered = '' 
    for i in lines: 
     i = str(numLines) + '. ' + i 
     numbered += i 
     print (i) 

     numLines += 1 

    viewSelection = input('\n^ Avaiable Paths ^\nInput the preset\'s number you want to perform an action on.\n') 

    for i in numbered: 
     if viewSelection in i: 
      viewAction = input('\nInput action for this preset.\nOptions: "Delete"') 
      if viewAction.lower() == 'delete': 

나는 단순히 숫자가 파일에의 한 줄을 삭제하는 방법을 원한다.

+0

, 그것은 삭제할 하나 __except__ 모든 선이 새 파일을 만든 다음 나중에 파일의 이름을 변경하는 것이 훨씬 쉽다. –

+0

가능한 [파이썬에서 줄을 어떻게 싸게 얻는가?] (http://stackoverflow.com/questions/845058/how-to-get-line-count-cheaply-in-python) – thesonyman101

+0

@Chris_Rands 나는 ' t는 많이 시험했다. 게시물을 코드로 업데이트했습니다. – m1ksu

답변

0

간단한 방법은 행을 목록으로 읽어 들여 목록을 업데이트 한 다음 동일한 파일에 다시 쓰는 것입니다. 이런 식으로 뭔가 : 대신 실제로 원본 파일을 편집

with open("file.txt", "r+") as f: 
    lines = f.readlines() 
    del lines[linenum] # use linenum - 1 if linenum starts from 1 
    f.seek(0) 
    f.truncate() 
    f.writelines(lines) 
관련 문제