テキストファイルを作成し、それにデータを1行ずつ追加したいと思います。データ行がファイルにすでに存在する場合は、無視する必要があります。それ以外の場合は、ファイルに追加する必要があります。
3 に答える
2
ファイルを読んで、新しい変更されたバージョンを作成する方が、ほぼ確実に優れています。ほとんどの状況では、より速く、より簡単で、エラーが発生しにくく、拡張性が高くなります。
于 2012-01-19T06:12:48.100 に答える
1
ファイルがそれほど大きくない場合は、次のようにすることができます。
added = set()
def add_line(line):
if line not in added:
f = open('myfile.txt', 'a')
f.write(line + '\n')
added.add(line)
f.close()
しかし、同時実行性、ファイルに大量のデータが保存されていること、または基本的に迅速で 1 回限りのもの以外のことを心配する必要がある場合、これは良い考えではありません。
于 2012-01-19T19:49:39.293 に答える
0
私はこのようにしました、
def retrieveFileData():
"""Retrieve Location/Upstream data from files"""
lines = set()
for line in open(LOCATION_FILE):
lines.add(line.strip())
return lines
def add_line(line):
"""Add new entry to file"""
f = open(LOCATION_FILE, 'a')
lines = retrieveFileData()
print lines
if line not in lines:
f.write(line + '\n')
lines.add(line)
f.close()
else:
print "entry already exists"
if __name__ == "__main__":
while True:
line = raw_input("Enter line manually: ")
add_line(line)
if line == 'quit':
break
于 2012-02-16T06:20:53.890 に答える