2013-07-08 48 views
5

(Ben txt dosyası okuduktan sonra sembolik ifadeyi kullanın böylece) bir txt dosyasına sembolik bir ifade yazmak için en iyi yolu nedir sembolik ifadesi (sympy) yazma?Python - txt dosyası

örneğin numpy en savetxt() fonksiyonunun bir sympy eşdeğer var mı?

from sympy import Symbol 
a=Symbol('a') 
b=Symbol('b') 

y=a+3*b 

nasıl düzgün yazma ve y okuyabilir: Örneğin

? (En Python nesneleri kaydedebilirsiniz gibi)

cevap

3

bir dosyaya saklamak pickle kütüphane kullanabilirsiniz:

import pickle 
with open("y.txt", "w") as outf: 
    pickle.dump(y, outf) 

daha sonra SymPy içinde

with open("y.txt") as inf: 
    y = pickle.load(inf) 
+0

Çok teşekkür ederim! – Baekel

+1

“Pickle” ın birçok SymPy ifadesinde boğulduğunu unutmayın. 'dill' daha iyi bir iş çıkarır. – asmeurer

7

str(expr) ile yük olur should İfadenizle ilgili bilgilerin çoğunu kaydedin. Avantajı, insan tarafından okunabilir olmasıdır. ondan yüklemek için en iyi yolu sadece kopyala-yapıştır ya eval aksine örneğin str(Rational(1, 2)) doğrudan 0.5 değerlendirecek 1/2, verecektir, çünkü sympify() kullanmaktır.

Ayrıca, daha ayrıntılı bir çıktı veren srepr() (SymPy'nin repr sürümü) bir işlevi de vardır.

Dikkat edilmesi gereken tek şey şu anda Semboller hakkındaki varsayımlar hakkında bilgi biriktirmemenizdir (Symbol('x', real=True)), buna ihtiyacınız varsa, turşu veya dereotu gibi bir şey kullanmalısınız.

İlgili konular