对于输出,我需要一个列表,其中每个索引包含一个数字和一个字母,它们来自两个不同的文件(如B2)。相反,当我运行我的程序时,我得到的输出在不同的行上列出每个文件的值。其中一个输入文件是简单的数字列表,另一个是字母列表。根据我的代码,我希望能得到一些帮助。提前谢谢!你知道吗
def combine():
mylist = []
galaxy = open("galaxies.rtf","r")
print("Reading from galaxies.txt...")
for line in galaxy:
gline = galaxy.read()
cycle = open("cycles.rtf","r")
print("Reading from cycle.txt...")
for line in cycle:
cline = cycle.read()
print("Combining values...")
string = gline + cline
mylist.append(string)
galaxy.close()
cycle.close()
return mylist
combine()
# the main function calls combine() to read the data from files
# then displays a formatted table with the combined values
def main():
#Print a header at start of main() function
print("Report of BOOYA Radio Galaxy Observations\n")
# Call the combine() function, returned list saved as radioData
radioData = combine()
# Loop through the radioData list printing 5 columns of values
for j in range(0,len(radioData),5):
for k in range(0,5):
print(radioData[j+k],end="\t")
print()
main()
你有几个问题。例如,这个
从
galaxy
读取一行并将其放入line
,然后读取文件的其余部分并将其放入gline
。在第二轮中,文件没有更多内容,因此for退出。你知道吗你可以用不同的方法做这项工作。文件迭代包含
\n
的行。zip
接受多个迭代器并将它们组合成元组。您可以使用它来迭代这两个文件中的行,去掉行尾并将它们添加到一起。你知道吗这可能仍然是个问题,因为
rtf
不是简单的文本文件。你知道吗相关问题 更多 >
编程相关推荐