我試圖讀取兩個文件,並將其中一個文件的內容替換爲文件夾中的其他文件的內容,該文件夾中也存在子目錄。 但它告訴子過程沒有定義。 我是新來的蟒蛇和shell腳本可以有人幫助我這個請嗎?如何替換文件夾中多個文件中的字符串?
import os
import sys
import os.path
f = open ("file1.txt",'r')
g = open ("file2.txt",'r')
text1=f.readlines()
text2=g.readlines()
i = 0;
for line in text1:
l = line.replace("\r\n", "")
t = text2[i].replace("\r\n", "")
args = "find . -name *.tml"
Path = subprocess.Popen(args , shell=True)
os.system(" sed -r -i 's/" + l + "/" + t + "/g' " + Path)
i = i + 1;
到目前爲止,該腳本所做的是假定兩個文件具有相同的行數(或者第二個至少比第一個長)。對於每一行,它都會產生一個子進程,每次執行相同的find命令,但對結果沒有任何影響。然後使用os.system產生另一個子進程,它執行一個sed命令,我不清楚結果。 – jdi
@jdi用sed命令m試圖用路徑中存在的所有文件中file2的內容(line be line)替換file1中的內容。 – harry
@jdi新來的蟒蛇不知道哪裏去錯了..如果你能幫我出 – harry