Pythonでファイルをリストに読み込むにはどうすればいいですか?

乱数をいくつか生成してファイルに保存するよう、ユーザーに促したい。その部分は彼が教えてくれました。私たちがしなければならないのは、そのファイルを開き、数字をリストに変換し、Pythonの簡単な組み込みツールを使わずに平均値や標準偏差などを求めることです。

openを使おうとしましたが、無効な構文になってしまいます(選んだファイル名は"numbers"で、自動的に"My Documents"に保存されたので、open(numbers, 'r')open(C:name\MyDocuments\numbers, 'r')`を試しましたが、どちらもうまくいきませんでした)。

f = open("file.txt")
lines = f.readlines()

ここ]1を見てください。readlines()は、要素ごとに1行を含むリストを返します。これらの行には、行末に``n(改行文字)が含まれていることに注意してください。この改行文字を取り除くには、strip()メソッドを使用します。つまり、lines[index].strip()を呼び出して、改行文字を除いた文字列を得ることができます。

joaquin さんが指摘したように、ファイルを f.close() することを忘れないでください。

strintを整数に変換するのは簡単で、int("12")とします。

解説 (2)

openには、ファイル名の文字列を渡す必要があります。文字列の中に` が含まれていると、余計にややこしいことになります。これを解決するには、次のように、それぞれを二重にして \\ とするか、文字列の前に r を付けます。r'C:\MyDocuments\numbers'`.

**編集:***質問に対する編集は、元の質問とは全く違うものになっていて、どれも元の投稿者によるものではないので、それが正当なものかどうかはわかりません。それは、ファイル名に "My Documents" を追加する方法です。

英語版のWindows XPでは、「My Documents」は実際には「C:Documents and Settings\My Documents」となります。つまり、openの呼び出しは次のようになります。

open(r"C:\Documents and Settings\name\My Documents\numbers", 'r')

VistaやWindows 7では変更されていますが、「マイドキュメント」と呼んでいることから、XPをお使いだと思われます。Pythonでこれを自動的に調べる簡単な方法があるかどうかはわかりません。

解説 (0)
hdl = open("C:/name/MyDocuments/numbers", 'r')
milist = hdl.readlines()
hdl.close()
解説 (2)