用python3修改另一个程序的程序

2024-06-02 06:22:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试用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" )

Tags: ofpyimport程序numberifosdef
1条回答
网友
1楼 · 发布于 2024-06-02 06:22:35

你有两次新的上市。你可以把第一个phy\u new\u read,第二个phy\u new\u write的名字叫做。然后您将要使phy\u new\u read返回行列表。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 )

有关如何从文件中获取特定行的信息,请参见以下问题 Reading specific lines only (Python)

相关问题 更多 >