2015-08-01 5 views
1

Я хотел бы заменить некоторые строки, которые не жестко закодированные согласно моему требованию, как файл_ввод, файл_вывод и outputFileSize напримерзаменить несколько строк в Python

COMMAND = """Application.exe inputFile=./Input.txt 
outputFile="Output/Output.txt" outputFileSize=20Kb""" 

Я хотел бы сделать

inputfilename = '' ./File1.txt

имя_выходного_файла = 'Выход/file2.txt'

outputfilesize = «90Kb»

Так что моя заменить строка должна выглядеть следующим образом

COMMAND = """Application.exe inputFile=./File1.txt 
outputFile="Output/File2.txt" outputFileSize=90Kb""" 

, что это правильный способ сделать это?

+0

Как насчет 'COMMAND =" "" Application.exe inputFile = {}, outputFile = "{}" outputFileSize = {} "" ". Format (inputfilename, outputfilename, outputfilesize)'? – jojo

ответ

0

Возможное решение:

command = """Application.exe inputFile=./Input.txt 
outputFile="Output/Output.txt" outputFileSize=20Kb""" 

inputfilename = './File1.txt' 
outputfilename = 'Output/File2.txt' 
outputfilesize = '90Kb' 

command = command.replace("./Input.txt", inputfilename) 
command = command.replace("Output/Output.txt", outputfilename) 
command = command.replace("20Kb", outputfilesize) 

print command 

Выход:

Application.exe inputFile=./File1.txt 
outputFile="Output/File2.txt" outputFileSize=90Kb 

Подсказка:

  • Ваша входная строка содержит разрыв строки. Это может вызвать проблемы при выполнении команды.
  • Возможно, вы захотите ввести специализированные заполнители, такие как «INPUT», «OUTPUT» и так далее. Но использование «./Input.txt» также работает.
  • Для получения дополнительной информации о методе string.replace, обратите внимание на the documentation.
  • Как прокомментировал jojo, подход может быть значительно сокращен. Но я не знаю точного сценария (например, почему вы хотите заменить аргументы, а не создавать правильную команду в первую очередь).
+0

спасибо, я не знал, что это так легко сделать. Я был в замешательстве с решением, которое я искал в google – user1891916

+0

@ user1891916: вместо этого вы должны использовать форматирование строк (как показано в [@ jojo]] (http://stackoverflow.com/questions/31760150/replace-multiple-strings-in- питон # comment51453057_31760150) – jfs

Смежные вопросы