使用input----------------------------------------------
<aaa>001</aaa>
<bbb>002</bbb>
<ccc>003</ccc>
operation------------------------------------------
Ctrl+Shift+F
SEARCH
^(<aaa>)(.*)(</aaa>)(.*)$|^(<bbb>)(.*)(</bbb>)(.*)$
output---------------------------------------------
1,1: <aaa>001</aaa>
2,1: <bbb>002</bbb>
python命令,可以运行缩进的代码块(例如exec()
语句或if/else
)。例如:
try/except
此刻,我正在使用它来运行代码:
name = input("Enter name: ")
if name == "Bob":
print("Hi bob")
else:
print("Hi user")
我也知道这不是让用户输入自己的代码的“ Python风格”或“良好实践”,但这对我代码的其他部分很有用。
答案 0 :(得分:0)
这里的问题不是缩进。问题在于您要尝试exec
一条复合语句的各行。没有完整的内容,Python无法理解复合语句。
exec
整个输入作为一个单元:
exec('\n'.join(code_list))
答案 1 :(得分:0)
摘自exec()文档:
此函数支持动态执行Python代码。对象必须是字符串或代码对象。如果是字符串,则将字符串解析为一组Python语句,然后执行该语句……
因此,您可以做类似的事情
exec("a=2\nb=3")
exec("if a==2:\n\tprint(a)\nelse:\tprint(b)")
您只需要遵循正确的语法和缩进即可。
答案 2 :(得分:0)
在exec()函数中格式化代码的另一种方法是使用三引号,这样可以很容易地看到代码的样子。
code = """ # Opening quotes
for i in range(0, 10): # Code line 1
print(i) # Code line 2
""" # Closing quotes
exec(code)
如果您要求用户输入代码,这可能行不通,但这可能会派上用场。