2017-11-28 11 views
0

私はこのコンセプトでは少し失われており、ファイル内の置換や検索方法を示す例はありません。テキストファイルの要素を書き込んで置き換える方法は?

プロンプト:

あなたはI、出力Oのファイルパス、文字列S、および文字列T.
を読む入力用のファイル・パスを提供します

ファイルを書きますSの各出現をTで置換し、結果の情報をファイルOに書き込む。
既に存在する場合は、Oを置き換える必要があります。ファイルを読み取る方法、および単純なテキスト要素を記述するためにどのように我々は提供されている

import sys 
I= sys.argv[1] 
O= sys.argv[2] 
S= sys.argv[3] 
T= sys.argv[4] 

例のみされています

入力は不明であるが、これは我々が提供している唯一のコードですファイルに保存します。

これまでの私のコード:

file1 = open(I, 'r') 

data = file1.read() 

私は本当にこだわっています。

+1

string.replace()はおそらくあなたが探しているものです – Simon

答えて

1

最初にopen入力ファイルを読み込み、その内容を読み込みます。

loop次の例では、現在の単語がTと同じかどうかを確認します。一致する場合は、replaceです。最後に新しい文字列を出力ファイルに書き込みます。

私はあなたに必要なものなので、あなたにコードを教えません。あなたは自分自身でそれを行う方法を見つける必要があります。

幸運

2

あなたはそれ自体が、ファイル内で交換しない - あなたは、文字列にファイルの内容を読んで、文字列の中に交換して、出力ファイルに結果を書き込みます。全てT

  • Sオープン出力ファイル
  • ライトストリング変数
  • 近いファイルの文字列変数
  • 近いファイル
  • replace(Pythonのメソッド)に読み込ま

    • オープン入力ファイル
    ここで
  • 1

    はあなたのコードです:

    import sys 
    I= sys.argv[1] 
    O= sys.argv[2] 
    S= sys.argv[3] 
    T= sys.argv[4] 
    
    with open(I, 'r') as file_in: 
        text = file_in.read() 
        text = text.replace(S,T) 
        with open(O, 'w') as file_out: 
         file_out.write(text); 
    

    あなたはそれについて考える必要がないようにwith構築物はのみ、設定が完了したら、ファイルが閉じていることを確認します。残りはまっすぐです。

    +0

    入手しました。あなたはそれを使わずにどうやって書くのですか? – Logan

    0

    あなたのために行う関数を書くことができます。

    import sys 
    
    def elReplacer(I,O,S,T): 
        with open(O,"w") as outputFile: 
         outputFile.write(open(I,"r").read().replace(S,T)) 
        outputFile.close() 
    
    I= sys.argv[1] 
    O= sys.argv[2] 
    S= sys.argv[3] 
    T= sys.argv[4] 
    
    elReplacer(I,O,S,T) 
    
    関連する問題