簡體   English   中英

一個程序,它將使用python 3修改另一個程序

[英]A program which will modify another program by using python 3

我試圖用python編寫程序,它將修改另一個python程序。 步驟如下:

  1. 我有一個包含以下各行的程序(pyh.py) ,輸出如下

輸出:

Number of lines: 6 
Number of characters: 65

pyh.py代碼:

import os
import sys

def pyh( filename ):

    if ( os.path.isfile( filename ) ):

        file = open( filename, 'r' )
        line_list = file.readlines()
        pyh_compute_size( line_list )
        file.close()

    else:
        print( "File " + filename + " does not exist." )


def pyh_compute_size( line_list ):

    line_count = 0; char_count = 0
    for line in line_list:

        line_count += 1
        char_count += len( line )

    print( "Number of lines: " + str( line_count ) )
    print( "Number of characters: " + str( char_count ) )


if __name__ == '__main__':

    pyh( "text_a.txt" )
  1. 我正在嘗試做的是,我正在編寫另一個名為“ modifier.py ”的python程序,該程序將打開“ pyh.py ”(在同一目錄中)並讀取文件,然后將其關閉。
  2. 然后打開相同的文件“ pyh.py ”進行寫入。 它將遍歷行列表,並將行1到20寫入新文件( modifier.py )。 之后,它從末尾刪除換行符,然后添加; 在末尾print ("Additional Part" ),然后添加換行符。
  3. 在那之后,它將從21寫入到新文件( modifier.py )的結尾。

當我運行'modifier.py' ,它將修改'pyh.py' (對於20和21之間的行)。 修改'pyh.py'后,應顯示以下輸出。

Additional Part
Additional Part
Number of lines: 6 
Number of characters: 65

我正在嘗試執行第3步和第4步,但是找不到合適的方法。 我是python的新手。 因此,如果有人幫助我解決問題,那將是非常不錯的。

modifier.py代碼如下:

import os
import sys


def pyh_new( filename ):

    if ( os.path.isfile( filename ) ):

        file = open( filename, 'r' )
        line_list = file.readlines()
        file.close()

def pyh_new( filename ):

    if ( os.path.isfile( filename ) ):

        file = open( filename, 'w' )
        line_list = file.writelines()
        #need to write 

        file.close()



if __name__ == '__main__':

    pyh_new( "pyh.py" )

您已列出pyh_new兩次。 您可以做的是調用第一個phy_new_read和第二個phy_new_write的名稱。 然后,您需要使phy_new_read返回line_list。 return line_list 然后,您將可以執行以下操作:

if __name__ == '__main__':

    lines = pyh_new_read( "pyh.py" )

    #grab the specific lines that you want. See 
    # https://stackoverflow.com/questions/2081836/reading-specific-lines-only-python

    pyh_new_write( lines )

有關如何從文件中獲取特定行的信息,請參見以下問題: 僅讀取特定行(Python)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM