2011-11-26 15 views
10

私の.pyファイルに、コマンドラインで入力したファイルを受け入れるようにします。私はsys.argv []とfileinputを使用しましたが、出力が得られません。Pythonでコマンドライン引数として与えられたファイルを開く方法は?

+3

質問は不明です。あなたの目標は何か、何を期待しているのか、何を試したのか、どのように偽っているのかは不明です。 "私は' sys.argv [] 'と' fileinput'を使いましたが、あなたの実際のコードを表示するほうがいいでしょう。 「私はアウトプットを得ていません」と言うのではなく、あなたが得るアウトプットとあなたが期待するアウトプットをより良く見せてくれる。 –

+0

文字列を含むファイルが有効な電子メールアドレスであるかどうかをチェックする必要があります。例:4行がある場合は、各行が有効な電子メールアドレスであるかどうかを確認する必要があります。しかし、私はそれを確認することができました。私は入力として与えたファイルに対して必要な出力を得ました。私はファイルを受け取り、そのファイルに有効な電子メールアドレスがあるかどうかを確認するために、特定の.pyファイルに対するコマンドライン引数として与えられたファイルを受け入れるように変更しようとしています。 – Ram

+0

私のVMマシン(ubuntu)でこのプログラムをやっていたので、Windowsマシンに貼り付けてコピーすることができませんでした。 – Ram

答えて

18

あなたは次のスクリプト記述する場合:

#!/usr/bin/env python 

import sys 

with open(sys.argv[1], 'r') as my_file: 
    print(my_file.read()) 

をし、それを実行し、それが名前あなたはそのように最初の引数でを渡すファイルの内容を表示します。

./my_script.py test.txt 

(上記の例では、このファイルはtest.txtになります)。

+0

@ Tadeck - ちょっと働いた。 :Dありがとう:) – Ram

+0

@Ram:私はそれが助けてうれしいです。その他のご質問はありますか? – Tadeck

+0

いいえ私は実際に出力を提出し、フルスコアを得ました!ありがとう:)私は 'sys.arg'でそれをやったがエラーがあったので、私が何をしているのか分からなかった。あなたの記事を読んだ後、私は 'sys.argv'が配列としてコマンドライン引数を受け入れていることを知りました。そのためにインデックスを使用しています。 – Ram

関連する問題