python-3.x ValueError:无法从手动字段指定切换到自动字段编号

jljoyd4f  于 2022-11-19  发布在  Python
关注(0)|答案(4)|浏览(137)

类:

class Book(object):
    def __init__(self, title, author):
        self.title = title
        self.author = author

    def get_entry(self):
        return "{0} by {1} on {}".format(self.title, self.author, self.press)

从它创建我的图书的示例:

In [72]: mybook = Book('HTML','Lee')
In [75]: mybook.title
Out[75]: 'HTML'
In [76]: mybook.author
Out[76]: 'Lee'

请注意,我没有初始化属性'self.press',而在get_entry方法中使用它。继续键入数据。

mybook.press = 'Murach'
mybook.price = 'download'

到目前为止,我可以用vars指定所有的数据输入

In [77]: vars(mybook)
Out[77]: {'author': 'Lee', 'title': 'HTML',...}

我在控制台中硬输入了很多关于mybook的数据。当尝试调用get_entry方法时,错误报告。

mybook.get_entry()
ValueError: cannot switch from manual field specification to automatic field numbering.

所有这一切都在控制台的交互模式。我珍惜输入的数据,进一步pickle mybook对象在文件中。但是,它是有缺陷的。如何才能挽救它在交互模式。或者我必须重新启动一遍。

s3fp2yjn

s3fp2yjn1#

return "{0} by {1} on {}".format(self.title, self.author, self.press)

那是行不通的。如果你指定位置,你必须一直做到最后:

return "{0} by {1} on {2}".format(self.title, self.author, self.press)

在你的情况下,最好是让巨蟒自动对待那件事:

return "{} by {} on {}".format(self.title, self.author, self.press)
7jmck4yq

7jmck4yq2#

print ("{0:.1f} and the other no {0:.2f}".format(a,b))

python不能在一次代码执行中同时进行手动和自动精度处理(字段编号)。你可以为每个变量指定字段编号,或者让python自动为所有变量进行字段编号。

chy5wohz

chy5wohz3#

井如果能给予一个适当的输出在一个表格格式如果不是使用格式去为f””;
例如

<!DOCTYPE html>
<html>
<head>
    <title><strong>Unable to handle Value Error</strong></title>
</head>
<body>
<p><ol>for name, branch,year in college:</ol>
         <ol> print(f"{name:{10}} {branch:{20}} {year:{12}} )</ol>
    
    <ol>name       branch               year    </ol>
    <ol>ankit      cse                         2</ol>
    <ol>vijay      ece                         4</ol>
<ol>    raj        IT                          1</ol>

</body>
</html>
abithluo

abithluo4#

转义特殊字符,例如:'{}' -> '{{}}'

相关问题