首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >粘贴代码时不修复缩进的PyCharm

粘贴代码时不修复缩进的PyCharm
EN

Stack Overflow用户
提问于 2014-11-18 18:44:54
回答 1查看 1.4K关注 0票数 1

我有一些python代码:

代码语言:javascript
运行
复制
def sameDay(date, dayOfWeek, week, year):    

theDay = datetime.fromtimestamp(
mktime(time.strptime("%s %s %s %s %s" % ("12", "00", dayOfWeek, week, year), "%H %M %w %W %Y")))
return theDay.date() == date.date()


def zeroPadding(string):    

integer = int(string)
if integer < 10:
return "0" + str(integer)
else:
return str(integer)

当我将这些行粘贴到PyCharm中时,缩进不是固定的,我无法编译代码。我尝试过使用"Reformat Code"选项,但这不起作用。我已经检查了“智能缩进粘贴线”,也没有结果。

如何修复缩进,以便在PyCharm中编译我的程序?

下面是这个问题的快照。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-18 18:46:07

编辑是不可能这样做的。

Python中的缩进有意义。缩进代码表示语言语法中的块,并更改代码的执行方式。一旦缩进丢失,就不可能查看代码并识别它的意义。

作为人类,我们可以做出有教养的猜测,但自动化是不可能的。重新格式化代码自然不会做任何事情,因为缩进不是Python中的格式。我想象‘智能缩进’只是改变从制表符到空格或反向取决于你的项目设置。

在您的示例中--假设它都在模块的顶层,并且由于return语句/嵌套不多,它基本上是明确的,但是第二个函数可能嵌套在第一个。

例如:

代码语言:javascript
运行
复制
if x < 1:
...
if y < 2:
...
else:
...

可以是:

代码语言:javascript
运行
复制
if x < 1:
    ...
    if y < 2:
        ...
else:
    ...

或者:

代码语言:javascript
运行
复制
if x < 1:
    ...
    if y < 2:
        ...
    else:
        ...

Python中缩进的丢失就像在任何语言中从源代码中删除随机字符一样。您已经丢失了一些代码,并且需要使用您对代码的理解来重构它。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27001661

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档