こんにちは、ファイルをそのままロードする方法はありますが、コマンドラインから
python test.py data.txt と入力できます
それ以外の
data = [line.strip() for line in open("/home/user/data.txt", "rb").readlines()]
こんにちは、ファイルをそのままロードする方法はありますが、コマンドラインから
python test.py data.txt と入力できます
それ以外の
data = [line.strip() for line in open("/home/user/data.txt", "rb").readlines()]
import sys
data = [line.strip() for line in open(sys.argv[1], "rb")]
ちなみに、必要ありません.readlines()
。
コマンドラインからスクリプトにパラメーターを渡すには、sys.argvまたはfileinputを利用します。
sys.argv
Pythonスクリプトに渡されるコマンドライン引数のリスト。argv [0]はスクリプト名です(これがフルパス名であるかどうかはオペレーティングシステムによって異なります)。インタプリタに対して-cコマンドラインオプションを使用してコマンドが実行された場合、argv[0]は文字列'-c'に設定されます。スクリプト名がPythonインタープリターに渡されなかった場合、argv[0]は空の文字列です。
fileinput:
import fileinput
for line in fileinput.input():
process(line)
これは、sys.argv [1:]にリストされているすべてのファイルの行を繰り返し、リストが空の場合はデフォルトでsys.stdinになります。ファイル名が「-」の場合、sys.stdinにも置き換えられます。ファイル名の代替リストを指定するには、それをinput()の最初の引数として渡します。単一のファイル名も許可されます。
argparseモジュールを見てください。使い方はかなり簡単で、コマンド ライン引数からファイルを直接指定して開くこともできます。