2017-07-18 16 views
-3

配列が.txtファイル内にあります。私は何をしたい私は、アレイかのように私のtxtファイルを使用する方法を見つけることができませんでした。この配列 Pythonでファイルの配列を読み書きする

  • は、この配列
  • a=[('a'),('b'),('c')] 
    f=open("file.txt","w+") 
    f.append(a[0]) 
    

    を付加する長さを読み取る

    1. です。それを行う可能性はありますか?

    +0

    期待される結果を含めて[mcve]を提供できますか? – MSeifert

    +0

    通常のテキストファイルの代わりにjsonを使用できます。 –

    +0

    ファイルオブジェクトに追加しようとする特別な理由は何ですか?そして、あなたがあなたのタプルを失うことを気にしないなら、はい、私はjsonをお勧めします。 –

    答えて

    0

    jsonまたはpickleを使用しない場合は、これが可能です。今

    new_items = [('a'), ('b'), ('c')]  
    with open('ds.txt', 'r') as f: 
        f_items = ast.literal_eval(f.read()) 
    
    print(f_items) 
    # ['foo', 'bar'] 
    
    f_items = f_items + [x[0] for x in new_items] 
    print(f_items) 
    # ['foo', 'bar', 'a', 'b', 'c'] 
    

    読書と追加新アイテム

    ステップ1:ファイルへの書き込み

    import ast 
    
    items = ['foo', 'bar'] 
    with open('ds.txt', 'w') as f: 
        f.write(str(items)) 
    

    ステップ2のオブジェクトがast.literal_evalを使用してテキスト項目として、あなたのオブジェクトをダンプし、それらをロードすることができます手順1を繰り返してファイルに書き戻すことができます。

    0

    あなたは、ファイルの末尾に物事を書きたい場合は、次のコードを必要とする:1はf手動で閉じない必要があるとして、一般的には

    with open("file.txt","a") as f: 
        f.write("insert text here") 
    

    を、with open("file.txt","a") as f:構文が望ましいです。

    あなたはその後、このように新しい行に追加各項目を書くことができます:

    def fileappend(filename,string): 
        with open(filename,"a") as f: 
         f.write(string) 
    

    をこれは、あなたは、このように文字列を抽出することができるようになる:

    with open("file.txt","r") as f: 
        l=[x[:-1] for x in f.readlines()] 
    

    lその後、項目のリストを含んでいるでしょうファイルに追加され、改行を含むことはできませんでした。

    0

    は、文字列

    myString = f.read() 
    

    スプリットとして与えられた文字の文字列をファイルを読み込み、配列(技術的リスト)として保存します。あなたはファイルのフォーマットに関する詳細を提供していないので、カンマ区切りであると仮定します。これを行うには

    a = myString.split(',') 
    

    より高速な方法を開くために、あなたが持っているファイルに追加するには

    a.append("thing") 
    

    を追加するには長さ

    len(a) 
    

    を取得するには

    a = f.read().split(',') 
    

    ですそれは追加モードです。これはopenメソッドの第2引数で表されます

    f = open(filename, 'a') 
    f.write(",thing") 
    
    +0

    しかし、その方法は実際にファイルに物事を追加するものではありません。それはOPの後にあったものです... –

    +0

    OPの指示は私には不明でした。私は、テキストファイルに追加を含めるように私の答えを編集しました。 – Simon

    関連する問題