簡體   English   中英

python schemdraw AttributeError: __enter__

[英]python schemdraw AttributeError: __enter__

import schemdraw
import schemdraw.elements as elm

with schemdraw.Drawing() as drawing:
    drawing.config(unit=2)
    drawing += (L1 := elm.Line().right())
    drawing += (L2 := elm.Line().right())
    drawing += (C := elm.Capacitor().down().label('C'))
    drawing += (L3 := elm.Line().Left())
    drawing += (L4 := elm.Line().left())
    drawing += (R := elm.Resistor().endpoints(L1.end, L3.end).label('R').idot())

    drawing.draw()

    drawing.save('scheme.png')

想為電路編寫一個簡單的腳本,但我總是得到這個錯誤:

回溯(最近一次調用最后一次):文件“C:/Users/Lukas/PycharmProjects/pythonProject1/main.py”,第 4 行,以 schemdraw.Drawing() 作為繪圖:AttributeError:輸入

進程以退出代碼 1 結束

有誰知道可能出了什么問題?

schemdraw直到最新版本才添加上下文管理器。 你可以在這里找到提交。

除非您安裝了 2022 年 1 月 9 日發布的0.14版,否則您將無法訪問上下文管理器。

你可以看到0.13版本的例子沒有使用它。

import schemdraw
import schemdraw.elements as elm
d = schemdraw.Drawing()
d += elm.Resistor().label('100KΩ')
d += elm.Capacitor().down().label('0.1μF', loc='bottom')
d += elm.Line().left()
d += elm.Ground()
d += elm.SourceV().up().label('10V'))
d.draw()
d.save('schematic.svg')

但是0.14的例子可以。

import schemdraw
import schemdraw.elements as elm
with schemdraw.Drawing(file='schematic.svg') as d:
    d += elm.Resistor().label('100KΩ')
    d += elm.Capacitor().down().label('0.1μF', loc='bottom')
    d += elm.Line().left()
    d += elm.Ground()
    d += elm.SourceV().up().label('10V')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM