Как вызвать команду sed в скрипте python? [закрыто]

Возможно, это ваша оперативная память. Вы можете попытаться снизить уровень обмана до 10 с помощью sudo sysctl vm.swappinnes=10. Может быть, это поможет вам немного ... Но я должен сказать, что это происходит и со мной, но мой ноутбук - только для Intel, но дело в том, что в Windows эти проблемы не происходят, заставляя меня думать, что, может быть, это проблема переноса.

Кстати, swappiness - это процесс, в котором ваша система разбивает страницы или перемещает программные данные во вторичную память (место подкачки на жестком диске), чтобы освободить место для других процессов. Проблема заключается в том, что в процессе работы происходит много накладных расходов, в основном с тяжелыми играми. Это помогло мне, возможно, это поможет вам.

1
задан 18 March 2016 в 17:23

1 ответ

С помощью subprocess.call любой аргумент команды должен быть отдельным элементом в списке (а shell не должен быть установлен на True):

subprocess.call(["sed", "-i", "-e",  's/hello/helloworld/g', "www.txt"])

Или, целая команда должна иметь одну строку с shell=True:

subprocess.call(["sed -i -e 's/hello/helloworld/g' www.txt"], shell=True)

Аргументы рассматриваются аналогично для subprocess.call и Popen, а в качестве документации для subprocess.call говорит:

В Unix с shell=True оболочка по умолчанию имеет значение /bin/sh. ... Если args является последовательностью, первый элемент указывает командную строку, и любые дополнительные элементы будут рассматриваться как дополнительные аргументы самой оболочки. То есть Popen выполняет эквивалент:
Popen(['/bin/sh', '-c', args[0], args[1], ...])
7
ответ дан 23 May 2018 в 12:46

Другие вопросы по тегам:

Похожие вопросы: