函数不执行python

时间:2009-12-24 12:15:29

标签: python

我有一个程序在没有定义函数时运行。当我将代码放入函数时,它不会执行它包含的代码。有谁知道为什么?一些代码是:

def new_directory():  

 if not os.path.exists(current_sandbox):  
     os.mkdir(current_sandbox)  

由于

3 个答案:

答案 0 :(得分:4)

您的代码实际上是new_directory函数的定义。除非您拨打new_directory(),否则不会执行此操作。 因此,当您想要从帖子中执行代码时,只需添加如下函数调用:

def new_directory():  

 if not os.path.exists(current_sandbox):  
   os.mkdir(current_sandbox)

new_directory()

不确定这是否是您期望获得的行为。

答案 1 :(得分:4)

问题1是你定义了一个函数(“def”是“define”的缩写),但是你没有调用它。

def new_directory(): # define the function
 if not os.path.exists(current_sandbox):  
     os.mkdir(current_sandbox)

new_directory() # call the function

问题2(尚未击中你)是你在使用参数时使用全局(current_sandbox) - 在后一种情况下,你的函数通常是有用的,甚至可用于调用来自另一个模块。问题3是不规则的缩进 - 使用1的缩进将导致任何必须阅读您的代码(包括您自己)的人疯狂。坚持4并使用空格,而不是标签。

def new_directory(dir_path):
    if not os.path.exists(dir_path):  
        os.mkdir(dir_path)

new_directory(current_sandbox)
# much later
new_directory(some_other_path)

答案 2 :(得分:1)

def new_directory():  
  if not os.path.exists(current_sandbox):  
     os.mkdir(current_sandbox)

new_directory()