Tôi muốn gọi sed từ python bằng cách sử dụng tiến trình con. Kịch bản tôi đã thử sử dụng là dưới đây. tuy nhiên, ống này dẫn đầu ra của sed tới đầu cuối tiêu chuẩn. Dường như toán tử '>' không được nhận ra từ bên trong câu lệnh subprocess.call của tôi. Bất kỳ đề xuất?Python - sử dụng tiến trình con để gọi sed?
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])
Ngoài ra - tên tệp của tôi có khoảng trắng, ví dụ: "file1 .txt". Đây có phải là vấn đề không? Lệnh sed của tôi hoạt động tốt khi tôi gọi sed từ terminal, không phải từ script.
Cảm ơn.
Bất kỳ lý do nào để không thực hiện việc này bằng chính Python? – robert
@robert +1 đó là một điểm tuyệt vời, bạn nên cung cấp nó, bao gồm giải pháp, lên như một câu trả lời. – Nix