私はこのコードを持っています:
#! /usr/bin/python
import sys, string
def findAll(search, fh):
count = 0
for line in fh:
count += 1
if line.find(search) != -1:
print "%3d: %s"%(count, line.rstrip())
return count
search = raw_input("Enter string to be found: ")
filename = raw_input("Enter filename: ")
fh = open(filename, "rU")
findAll(search, fh)
私の教授は、このコードを書いて「改善された使用法」を組み込むことを勧めました。
方法については混乱していますが、彼女はそれを勧めました
ステートメントをコメントアウトしてプログラムを変更し、
raw_input()
ステートメントを追加して、プログラムが2つ未満の引数で呼び出されているかどうかを確認し、そうであればprint 'Usage: findstring.py string filename
. このコードは文字列を受け取り、それらをファイル内で見つけます。filename
コマンド ライン引数 fromを使用しsys.argv
てファイルを開き、入出力エラー (IOError) の発生に備えます。次に、try-except
ブロックを使用して、ファイルを開くことができるかどうかをエンコードします。
開くのに失敗した場合、print 'Error: cannot open findstring.py
どこにfindstring.py
あるのかもテキスト ファイルと見なされます。
正直なところ、私は彼女の提案を書き留めるのに忙しく、彼女が提案したことの多くをどうしたらよいかわかりませんでした。誰かがこのコードを改善するのを助けることができますか? 私は混乱していて、これを行う方法がわかりません。私の教授は、コードが実行されると言いましたが、それを変更する方法がわかりません。