-1

テキストファイルを作成し、それにデータを1行ずつ追加したいと思います。データ行がファイルにすでに存在する場合は、無視する必要があります。それ以外の場合は、ファイルに追加する必要があります。

4

3 に答える 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 に答える