2

こんにちは、ファイルをそのままロードする方法はありますが、コマンドラインから

python test.py data.txt と入力できます

それ以外の

data = [line.strip() for line in open("/home/user/data.txt",  "rb").readlines()]
4

3 に答える 3

3
import sys
data = [line.strip() for line in open(sys.argv[1],  "rb")]

ちなみに、必要ありません.readlines()

于 2012-07-12T06:17:29.237 に答える
2

コマンドラインからスクリプトにパラメーターを渡すには、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()の最初の引数として渡します。単一のファイル名も許可されます。

于 2012-07-12T06:22:11.243 に答える
1

argparseモジュールを見てください。使い方はかなり簡単で、コマンド ライン引数からファイルを直接指定して開くこともできます。

于 2012-07-12T06:19:00.837 に答える