python2.7 - python变量作用域问题
本文介绍了python2.7 - python变量作用域问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
import os
SYSTEMList = ["System", "SYSTEM", "system", "windows", "Windows", "WINDOWS"]
def getTheTargetDisk():
"""
Get the scanner
return: the input string
"""
input = raw_input("-->Disk: ")
return input
def theLevelIndex(root):
"""
Find the root's level
root: string, the index you want to judge
return: int, 0 for A, 1 for B
"""
if os.path.isdir(root):
for filepath in os.listdir(index):
if os.path.isfile (filepath):
return 1
return 0
root = getTheTargetDisk()
rootlist = os.listdir(root)
listA = []
listB = []
for dirpath in rootlist:
for sysName in SYSTEMList:
if sysName in dirpath:#Error:'dirpath' is not defined
del dirpath
for dirroot in rootlist:
if os.path.isdir(dirroot):
if theLevelIndex(dirroot) == 0:
listA.append(root + dirroot)
else:
listB.append(root + dirroot)
print listA
print listB
如上的代码,在运行至if sysName in dirpath
时,显示dirpath
未定义
请问下这是为什么?if中调用的dirpath
不是在最外层的for循环中吗?
解决方案
for i in [1, 2, 3]:
del i
print i
del之后就把变量从当前作用域里删除了
这篇关于python2.7 - python变量作用域问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文