2
我有(在一個單獨的行中的每個條件)具有以下信息的文本文件的多個列表:保存在單個文本文件
UP_aic up 920.5 4 17280.0 down 17764.5 2 28186.5 up 28249.1
DOWN_aic down 941.0 2 8800.5 up 8894.3 down 11691.0 2 20316.2 up
20363.1 4 26901.8 down 26901.8
UP_adc down 1477.1
DOWN_adc up 1752.8
我已經實現了代碼,以除去2S和4S和它們各自的定時(見下文),我想要的是將這些信息保存在另一個文本文件中!
但是,今天上午我只設法保存最後一行(DOWN_adc up 1752.8
):正常,垂直而不是水平,所有字符「粘」在一起等等。
所以我現在保留了最基本的寫入方法。我知道所有以前的行都會被下一行刪除,所以只有最後一行保留,但我無法弄清楚如何防止這種情況。
下面是代碼:
from sys import argv
from itertools import tee, islice, chain, izip
script, from_file, to_file = argv
print "Here's your file %r:" %from_file
fhand=open(from_file)
total = 0
for line in fhand:
words=line.split()
def previous_and_next(some_iterable):
items, nexts = tee(some_iterable, 2)
nexts = chain(islice(nexts, 1, None), [None])
return izip(items, nexts)
for item, nxt in previous_and_next(words):
if item=='2':
words.remove(item)
words.remove(nxt)
elif item=='4':
words.remove(item)
words.remove(nxt)
print words
with open(to_file, 'w') as output:
output.write(str(words)+'\n')
fhand.close()
output.close()
那麼,如何保存在單獨的行這樣的數據再次各種條件(尖括號,逗號等都是沒有問題的)?
['UP_aic', 'up', '920.5', 'down', '17764.5', 'up', '28249.1']
['DOWN_aic', 'down', '941.0', 'up', '8894.3', 'down', '11691.0', 'up', '20363.1', 'down', '26901.8']
['UP_adc', 'down', '1477.1']
['DOWN_adc', 'up', '1752.8']
你的意思是['str.join()'](https://docs.python.org/3/library/stdtypes.html#str.join)? –
您確定要「打印單詞」而不是將每個單詞附加到「列表」,然後您可以循環並寫入文件? – TigerhawkT3
TigerhawkT3 - 可以刪除打印語句,我只是想知道我的代碼是否符合我的要求。 Kevin,str.join()對列表不起作用... – monechka