关于python中函数以及全局变量的问题
在使用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("按任意键退出")
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])
else:
cur_dir = CUR_DIR+"\"+list[i]
delete(CUR_DIR)
c_dir = os.getcwd()
delete(c_dir)
print("删除成功")
input("按任意键退出")
def delete(dir):
global cur_dir
....
# coding=utf-8
import os
def delete_empty_dir(dirname):
filelist = os.listdir(dirname)
for entry in filelist:
next_entry = os.path.join(dirname, entry)
if os.path.isdir(next_entry): # 不需要 ==True
if os.listdir(next_entry) == []:
print "delete:", next_entry
else:
delete_empty_dir(next_entry)
c_dir = os.getcwd()
printdir(c_dir)
print u"删除成功"
input(u"按任意键退出")
>>> list = ['a', 'b', 'c', 'd']
>>> for item in list:
... print(item)
...
a
b
c
d
>>>