Re: [问题]关于移植 code from python 2.7 to 3.6

楼主: TuCH (谬客)   2018-07-04 15:10:16
※ 引述《wayne670225 (北极熊在英国)》之铭言:
: 请问一下于python 2.7 中
: self.currentini = {'debug' : 'on'}
: def verify_currentlyini(self,(key,value)):
: self.currentini[str(key).split('$')[1]]=str(value)
: 但是更改python 3.6
: self.currentini = {'debug' : 'on'}
: def verify_currentlyini(self,key,value):
: self.currentini[str(key).split('$')[1]]=str(value)
: TypeError: modify_currentlyini() missing 1 required positional argument:
: 'value'
: 请问大家该如何更改我的程式 ?
self.currentint = {'debug' : 'on'}
def varify_currentlyini(self, key_value):
key, value = key_value
self.currentini[str(key).split('$')[1]] =str(value)
主要是传入的时候不能直接宣告他是一个tuple
所以把tuple设成一个变量
读进来的时候再拆开
以下是范例
def demo(c):
a,b = c
print(b)
demo(('Hello','world'))
作者: pmove (金疾柠檬)   2018-07-04 21:45:00
lib2to3的确就是这样转的没错,可是如果是用lib2to3转的应该不会有这个问题才对,有点怀疑原发问者故意制造这问题的
作者: HenryLiKing (HenryLiKing)   2018-07-04 22:51:00
学到了!原来不行一开始就宣告为tuple!!!!!!!!!!
作者: wayne670225 (北极熊在英国)   2018-07-12 08:46:00
多谢大家, python 3.7 传进去的东西就不能是tuple多谢 TuCH demo的范例, 问题已解决https://www.python.org/dev/peps/pep-3113/

Links booklink

Contact Us: admin [ a t ] ucptt.com