有没有办法在Python中自动格式化Python代码?所以,例如,我有一个等于
的字符串x
if 5 < 7:
print "Yes"
else:
print "No"
我希望运行exec(x)
,但显然会因为语法不正确而引发错误,所以我可以将x
更改为
if 5 < 7:
print "Yes"
else:
print "No"
当我运行exec(x)
它会起作用吗?
抱歉我的英语不好,这是第二语言。
答案 0 :(得分:3)
考虑以下输入:
if x == 1:
if y == 2:
print 'foo'
else:
print 'bar'
您的程序化解决方案应该如何缩进else
块?
喜欢这个吗?
if x == 1:
if y == 2:
print 'foo'
else:
print 'bar'
或者喜欢这个?
if x == 1:
if y == 2:
print 'foo'
else:
print 'bar'
缩进会改变程序的含义。程序员的工作是决定他的意思,而不是计算机。
答案 1 :(得分:1)
为此,这一切都取决于您使用的IDE。如果使用JetBrains Pycharm,则可以使用命令格式化代码。
https://www.jetbrains.com/help/pycharm/reformatting-source-code.html
请告诉我您正在使用的IDE,我可以找到您需要运行的命令。
祝你好运, 约旦编辑:
您的代码无法运行的原因是缩进。由于代码期望缩进打印行,它需要完成命令,一旦返回到相同的缩进级别,它就会期望如果3> 7完成。
答案 2 :(得分:1)
在python中缩进是至关重要的。您不能允许代码修复来设置它们而不是程序员。
答案 3 :(得分:0)
通过使用autopep8,您可以自动格式化pep8格式的代码,然后查看。