Mã này tạo ra "AttributeError: đối tượng 'Popen' không có thuộc tính 'fileno" khi chạy với Python 2.5.1Python subprocess "đối tượng không có thuộc tính 'fileno'" lỗi
Code:
def get_blame(filename):
proc = []
proc.append(Popen(['svn', 'blame', shellquote(filename)], stdout=PIPE))
proc.append(Popen(['tr', '-s', r"'\040'"], stdin=proc[-1]), stdout=PIPE)
proc.append(Popen(['tr', r"'\040'", r"';'"], stdin=proc[-1]), stdout=PIPE)
proc.append(Popen(['cut', r"-d", r"\;", '-f', '3'], stdin=proc[-1]), stdout=PIPE)
return proc[-1].stdout.read()
stack:
function walk_folder in blame.py at line 55
print_file(os.path.join(os.getcwd(), filename), path)
function print_file in blame.py at line 34
users = get_blame(filename)
function get_blame in blame.py at line 20
proc.append(Popen(['tr', '-s', r"'\040'"], stdin=proc[-1]), stdout=PIPE)
function __init__ in subprocess.py at line 533
(p2cread, p2cwrite,
function _get_handles in subprocess.py at line 830
p2cread = stdin.fileno()
mã này sẽ được làm việc python tài liệu mô tả this usage.
Bế mạc này là "quá cục bộ" là vô lý như * Tôi * thấy nó hữu ích, năm sau đó. Đây là bản chất của các vấn đề lập trình - chúng luôn là vấn đề thích hợp áp dụng cho một userbase hẹp. Nhưng chúng rất hữu ích ... SO khiến tôi buồn những ngày này, đó là lý do tại sao tôi không thường xuyên sử dụng nó nữa. – Dan