Этот сценарий предназначен для поиска файла, чтения файла и замены указанных вхождений. Например, в CMD я должен иметь возможность ввести python modify.py smbd.txt «password syn c = yes», «password syn c = no»
. Введя это в CMD, сценарий должен заменить все вхождения «password syn c = yes» в файле smbd.txt на «password syn c = no»
Однако у меня возникают проблемы с выполнением этого, поскольку я получаю ошибки при запуске кода. Мы не изучали это в классе, и я не знаю, как я должен уметь правильно писать сценарий. Мне просто кажется, что я что-то упускаю, возможно, что-то связано с чтением строк в txt-файле? Это то, что у меня есть. Любая помощь будет оценена.
ОШИБКА
Traceback (most recent call last):
File "modify.py", line 18, in <module>
outFile.write(line.replace(searchText, replaceText))
AttributeError: 'str' object has no attribute 'write'
import sys
#get the command line arguments
if len(sys.argv) != 4:
print("usage: modify.py fileSpec from to")
exit(1)
fileSpec = sys.argv[1]; # read file name first arg
searchText = sys.argv[2]; # text to search for
replaceText = sys.argv[3]; # text to replace with
outFile = fileSpec + '.new' # write file = read file with .new append
outPointer = open(outFile, 'w') # open write file
inPointer = open(fileSpec, 'r') # open read file
for line in fileSpec:
#foreach line replace the strings
outFile.write(line.replace(searchText, replaceText))
fileSpec.close()
outFile.close()