[英]A program which will modify another program by using python 3
我试图用python编写程序,它将修改另一个python程序。 步骤如下:
(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" )
modifier.py
”的python程序,该程序将打开“ pyh.py
”(在同一目录中)并读取文件,然后将其关闭。 pyh.py
”进行写入。 它将遍历行列表,并将行1到20写入新文件( modifier.py
)。 之后,它从末尾删除换行符,然后添加; 在末尾print ("Additional Part"
),然后添加换行符。 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.