Tôi đang sử dụng Oct2Py để sử dụng một số tệp M trong mã Python của mình. Hãy nói rằng tôi có đơn giản này Matlab chức năng:Oct2Py chỉ trả lại đối số đầu ra đầu tiên
function [a, b] = toto(c);
a = c;
b = c + 1;
end
gì sẽ xảy ra nếu tôi gọi nó trong Octave là rõ ràng:
>> [x,y] = toto(3)
x = 3
y = 4
Bây giờ nếu tôi gọi nó bằng Python, sử dụng oct2py:
from oct2py import octave
my_dir = "D:\\My_Dir"
octave.addpath(my_dir)
a,b = octave.toto(3)
Trả lại:
TypeError: 'int' object is not iterable
Có vẻ như octave.toto (n) chỉ trả về giá trị đầu tiên, khi tôi mong đợi hai ... Bất cứ ai có thể giải thích cho tôi những gì tôi nên làm không? Cảm ơn
Tôi hiểu sự khác biệt! Tuy nhiên dòng này trả về: LoạiError: đối tượng 'int' không thể lặp lại được. Chính xác như thể tôi đã viết: [a, b] = octave.test (3) ... Nó thực sự trông giống như octave.test (n) cho một đầu ra duy nhất ... – Telergoel
@Telergoel Nó chắc chắn sẽ hoạt động. Bạn có thể thay đổi tên hàm của bạn thành cái gì đó không xung đột với chức năng thư viện lõi không? Ngoài ra, vui lòng hiển thị mã chính xác mà bạn đang cố sử dụng – Suever
Tôi đã thay đổi tên chức năng của mình, không còn xung đột nữa mà vẫn là TypeError. Tôi có thể chia sẻ các dòng mã chính xác của mình nếu cần thiết nhưng tôi thực sự đang thử nghiệm với các dòng mã đơn giản ở trên và nó thực sự không hoạt động. – Telergoel