我有一个代码从文件中读取信息(行描述点,多边形,线和圆)并将其解析为根据类.Point有x和7坐标,Line有一个起点和一个终点.
我有一个列表(line = ['L1','L((1,1), (1,2))','# comment']),我试着把它变成一行.问题在于创建终点,在执行时我从ValueError: invalid literal for int() with base 10: ''变量中得到以下错误x2
问题是什么?
码:
def make_line(line):
name = line[0]
point = line[1].split(", ")
p = point[0].split(",")
x1 = int(p[0][3:])
y1 = int(p[1][:-1])
point1 = Point(x1,y1)
p = point[1].split(",")
x2 = int(p[0][1:])
y2 = int(p[1][:-2])
point2 = Point(x2,y2)
line = Line(point1,point2)
shapes[name] = line
Run Code Online (Sandbox Code Playgroud)
您错误消息说您正在尝试将空字符串转换为int.在进行转换之前,请立即仔细检查所有数据以验证这一点.
绝对确定如果数据正确,则转换为整数将起作用.因此,唯一的结论是您的数据不正确.您在评论中声称数据是好的,但这根本不是真的.
信任python解释器超过你自己的假设.
| 归档时间: |
|
| 查看次数: |
8434 次 |
| 最近记录: |