簡體   English   中英

在python中附加值並寫入文件

[英]appending value in python and writing to a file

我在Python中做了一個分類器,它工作正常。 現在,我需要將結果輸出到一個文本文件中,我也可以毫無問題地做到這一點。 問題是,我需要包括結果的ID以及結果本身。 我是python的新手,並且仍然習慣語法,因此,我們將不勝感激任何幫助。

    printedRow = '{id1},{result1}'.format(id1=id , result1 = result)
    print("~~~~~RESULT~~~~~")

    for k in range(0,len(pans)):
         pans.append(row[0] + ','+ p.classify(row))

    print (pans)
    print(pans, file=outfile)

我需要包含在分類器結果中的id保留在索引row [0]中。 當我運行此代碼時,將在每個結果中打印相同的ID。 結果打印得很好,我只需要能夠將id與結果匹配即可。

它們都保存在列表中,每個列表中大約有2000個值。

我不確定您要做什么,因為您沒有定義rowpans是什么。 考慮使用更多Pythonic源代碼。 如果對象是任何類型的集合,請使用某種迭代器。 枚舉對給每個循環一個索引號很有用。

for n, p in enumerate(pans):
    print "pan %d is %s" % (n, p)

您似乎還會在一個循環中追加到pans ,該循環的大小取決於pans 那可能永遠持續下去!

如果要添加到列表,只需添加它,例如:

newpans = pans + [x.classify(row) for x in oldpans]

與其在內存中建立結構,然后將其打印到文件中,不如直接寫入文件中。 這將占用更少的內存。 如果需要速度,請讓計算機為您緩沖文件,例如

f = open("output.txt", "w")
for n, p in enumerate(pans):
    f.write("%s,%s\n" % (n, classify(p)))
f.close()

暫無
暫無

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

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