2017-12-27 17 views
1

私はリストl1=['hi','hello',23,1.23]を持っています。リストをそのままPythonのテキストファイルに書く

テキストファイル内にテキスト['hi','hello',23,1.23]、つまりlistの値を書きたいと思います。

シンプル

with open('f1.txt','w') as f: 
    f.write(l1) 

働くので、私はこの

f=open('f1.txt','w') 
l1=map(lambda x:x+',', l1) 
f.writelines(l1) 
f.close() 

を試してみました。しかし、これはどちらか動作しませんしません。それは

TypeError: unsupported operand type(s) for +: 'int' and 'str'

言います。

リストに数字、アルファベット、および浮動小数点数が含まれている場合、これを行うにはどうすればよいですか?

+0

あなたがリストを持っている 'L1 = [ 'こんにちは'、 'こんにちは'、23,1.23]'とテキストを書きたい、 '[ 'こんにちは'、 'こんにちは'、 '歓迎']'これら2つはどう関係していますか? –

+1

しかし、 'f.write(str(l1))'を実行した場合、共有した最初のコードスニペットで動作していたはずです –

+0

答えは[ここ]/questions/899103/writing-a-list-to-a-file-with-python)はリストに文字列が含まれていると機能しません。 – user78956

答えて

2

ちょうどました:

+1

@pstatixなぜdownvoteですか?このような仕事や何もないのではない。 – RoadRunner

+0

@RoadRunner私は削除するためにupvoted。私は要素のリストを誤解しました。 – pstatix

-1

リストの__str__()メソッドを使用します。任意のオブジェクトの

with open('file.txt', 'w') as f: 
    f.write(l1.__str__()) 

__str__()方法は、printがかかるという文字列を返します。あなたの場合は、あなたのフォーマットされたリスト。

+2

なぜ 'str(l1)'だけではないのですか? '.__ str __(..)'は魔法の機能であり、どこでも魔法を表示するのは良い練習ではありません:)特に –

+0

@MoinuddinQuadriああ、私は " OPが文字列の表現を望んでいたというテキスト['hi'、 'hello'、 'welcome']があります。 –

+0

はい、文字列表現が必要です。しかし、あなたは 'str(l1)'でそれを得ます。 – Matthias

0

あなたはファイルに直接リストを書き込むことはできません、しかし、最初にあなたは、文字列の中にあなたのリストを変換して、ファイルへの文字列を保存する必要があります。 私は同じ質問に答えました。ここで確認できます。

How write a list of list to file

関連する問題