合并两个Python代码
我刚开始学Python,但已经写了一些对我工作有用的代码。我想把我的两个代码合并在一起,但我不知道该怎么做,感觉完全迷失了,不知道最终的代码应该是什么样子的。
第一个代码主要是读取一个文件,从中提取两列数据,然后把这些列写入一个新文件。我会对多个文件重复这个过程:
import sys
import re
filetowrite = sys.argv[1]
filetoread = sys.argv[2]
newfile = str(filetowrite) + ".txt"
openold = open(filetoread,"r")
opennew = open(newfile,"w")
rline = openold.readlines()
number = int(len(rline))
start = 0
for i in range (len(rline)) :
if "2theta" in rline[i] :
start = i
opennew.write ("q" + "\t" + "I" + "\n")
opennew.write ("1/A" + "\t" + "1/cm" + "\n")
opennew.write (str(filetowrite) + "\t" + str(filetowrite) + "\n")
for line in rline[start + 1 : number] :
words = line.split()
word1 = (words[1])
word2 = (words[2])
opennew.write (word1 + "\t" + word2 + "\n")
openold.close()
opennew.close()
第二个代码则是把之前创建的新文件合并在一起,让这些列在最终的文件中并排显示。
import sys
from itertools import izip
filenames = sys.argv[2:]
filetowrite = sys.argv[1]
newfile = str(filetowrite) + ".txt"
opennew = open(newfile, "w")
files = map(open, filenames)
for lines in izip(*files):
opennew.write(('\t'.join(i.strip() for i in lines))+"\n")
如果有人能帮我把这两个代码合成一个,我会非常感激。
祝一切顺利
1 个回答
2
把每个文件里的内容变成一个大文件里的函数,然后根据需要调用这些函数。可以利用 __main__
来实现这个功能。
import sys
import re
from itertools import izip
def func_for_file1():
# All of the code from File 1 goes here.
def func_for_file2():
# ALl of the code from File 2 goes here.
def main():
# Decide what order you want to call these methods.
func_for_file1()
func_for_file2()
if __name__ == '__main__':
main()