我想编写一个try -除了能够运行多个try语句而不中断代码的语句。
s = "hello, this is a string."
使用上面的字符串作为示例:
ls = []
try:
ls.append(s.split())
ls.append(s.str.split()) # expected error
ls.append(s.split(","))
ls.append(s.split("i"))
except:
pass上面是我最初尝试过的内容,但是代码在第二个try语句中停止了。
ls = []
try:
ls.append(s.split())
except:
pass
try:
ls.append(s.str.split()) # expected error
except:
pass
try:
ls.append(s.split(","))
except:
pass
try:
ls.append(s.split("i"))
except:
pass最后,我能够用上面的代码将所有字符串附加到列表中。除了陈述之外,还有比写个别的尝试更好的方法吗?
发布于 2020-10-11 08:57:51
您可以使用王八蛋模块。
使用@fuckit装饰器将代码包装在一个函数中:
import fuckit
@fuckit
def func():
code a
code b #if b fails, it should ignore, and go to c.
code c #if c fails, go to d
code d或者你可以试试这个:
def a():
try: # a code
except: pass # or raise
else: return True
def b():
try: # b code
except: pass # or raise
else: return True
def c():
try: # c code
except: pass # or raise
else: return True
def d():
try: # d code
except: pass # or raise
else: return True
def main():
try:
a() and b() or c() or d()
except:
pass发布于 2020-10-11 07:45:59
据我理解,当try语句中发生错误时,它将立即转到try语句,这就是为什么您的代码在第二个try语句之后不执行的原因。
虽然你的问题可能有更好的解决办法,但下面是我对你的问题的尝试:
ls = []
char=[' ',',','i']
for i in char:
try:
ls.append(s.split(i))
ls.append(s.str.split(i))
except:
pass
print(ls)https://stackoverflow.com/questions/64300679
复制相似问题