Python – используя подпроцесс для вызова sed?

Я хочу вызвать sed из python с помощью подпроцесса. Сценарий, который я пытался использовать, приведен ниже. однако это приводит к выводу sed на стандартный терминал. Похоже, что оператор '>' не распознается из моего оператора subprocess.call. Какие-либо предложения?

import sys import os import subprocess files = os.listdir(sys.argv[1]) count = 0 for f in files: count += 1 inp = sys.argv[1] + f outp = '../' + str(count) + '.txt' sub = subprocess.call(['sed', 's/\"//g', inp, '>', outp]) 

Кроме того, в моих именах файлов есть пробелы, то есть «file1 .txt». Может ли это быть проблемой? Моя команда sed отлично работает, когда я вызываю sed с терминала, только не из сценария.

Благодарю.

2 Solutions collect form web for “Python – используя подпроцесс для вызова sed?”

использование

 out_file = open(outp, "w") sub = subprocess.call(['sed', 's/\"//g', inp], stdout=out_file ) 

Было бы намного быстрее пропустить все sed-процессы и просто выполнить работу в Python

 import os import sys files = os.listdir(sys.argv[1]) for count, f in enumerate(files): with open( os.path.join(sys.argv[1],f), "r" ) as source: with open( os.path.join('..',str(count)+'.txt'), "w" ) as target: data= source.read() changed= source.replace('"','') target.write( changed ) 

Это будет работать значительно быстрее, так как оно не будет вызывать много подпроцессов.

  • Как использовать регулярное выражение python для замены с помощью захваченной группы?
  • извлекать каждый файл последовательности в виде отдельного файла
  • Как я могу разбить эту строку?
  • Регулярное выражение - заменить все пробелы в начале строки на периоды
  • разбивать большую текстовую (xyz) базу данных на x равных частей
  • Как извлечь комментарий из файла заголовка с помощью python, perl или sed?
  • Найти и заменить все между двумя заполнителями содержимым переменной
  • Python или awk / sed для очистки данных
  •  
    Interesting Posts for Van-Lav

    flask admin: sqlalchemy.exc.InterfaceError (параметр привязки ошибки 8)

    Как получить номер порта клиента в проекте Django?

    Как поместить текст в строку ввода: как запросить ввод пользователя в командной строке, предоставляя ответ «по умолчанию», который пользователь может редактировать или удалять?

    Что такое минимальное подмножество файловых методов, которое мне нужно реализовать, чтобы получить полный интерфейс файла python?

    как использовать двухуровневую настройку прокси-сервера в Python?

    Python 2.5 Windows Binaries?

    seaborn FacetGrid: как оставить правильное пространство сверху для suptitle

    Создание объекта времени из минут

    SQLAlchemy: отображение нескольких таблиц и отношений

    Как вызвать функцию, которая принимает аргумент в шаблоне Django?

    Django – проверьте, содержит ли список что-то в шаблоне

    sqlalchemy: ссылка на столбец label () 'd в фильтре или оговорке

    Загрузите большие файлы через FTP с помощью python

    Как я могу печатать и выводить вывод субпроцесса stdout и stderr без искажений?

    Каков наилучший способ для верхнего элемента k pool, а не только для max в Tensorflow?

    Python - лучший язык программирования в мире.