关于python中函数以及全局变量的有关问题
关于python中函数以及全局变量的问题
在使用python写递归函数时,想要使用函数外部的一个变量
而且在函数内会一直改变这个变量
应该如何定义这个变量
使用了global貌似也不行
下面贴上我的代码以及报的错
代码:
下面是报的错
Traceback (most recent call last):
File "C:\Users\Administrator\Desktop\新建文件夹\del.py", line 20, in <module>
delete(c_dir)
File "C:\Users\Administrator\Desktop\新建文件夹\del.py", line 13, in delete
if os.path.isdir(cur_dir+"\\"+list[i]) == Ture:
UnboundLocalError: local variable 'cur_dir' referenced before assignment
求各位高手帮忙解答
------解决方案--------------------
代码有两个问题:
1. 全局变量名称必须全部大写
2. 第8行“Ture”拼错了,应该是“True”
在使用python写递归函数时,想要使用函数外部的一个变量
而且在函数内会一直改变这个变量
应该如何定义这个变量
使用了global貌似也不行
下面贴上我的代码以及报的错
代码:
import os
global cur_dir
cur_dir = os.getcwd()
def delete(dir):
list = os.listdir(dir)
for i in range(len(list)):
if os.path.isdir(cur_dir+"\\"+list[i]) == Ture:
if os.listdir(cur_dir+"\\"+list[i]) == []:
os.rmdir(cur_dir+"\\"+list[i])
else:
cur_dir = cur_dir+"\\"+list[i]
delete(cur_dir)
c_dir = os.getcwd()
delete(c_dir)
print("删除成功")
input("按任意键退出")
下面是报的错
Traceback (most recent call last):
File "C:\Users\Administrator\Desktop\新建文件夹\del.py", line 20, in <module>
delete(c_dir)
File "C:\Users\Administrator\Desktop\新建文件夹\del.py", line 13, in delete
if os.path.isdir(cur_dir+"\\"+list[i]) == Ture:
UnboundLocalError: local variable 'cur_dir' referenced before assignment
求各位高手帮忙解答
------解决方案--------------------
代码有两个问题:
1. 全局变量名称必须全部大写
2. 第8行“Ture”拼错了,应该是“True”
import os
global CUR_DIR
CUR_DIR = os.getcwd()
def delete(dir):
list = os.listdir(dir)
for i in range(len(list)):
if os.path.isdir(CUR_DIR+"\\"+list[i]) == True:
if os.listdir(CUR_DIR+"\\"+list[i]) == []:
os.rmdir(CUR_DIR+"\\"+list[i])