为什么会这样?
def LoadPackageList():
try:
#Attempts to load package list... Adds each neccessary attribute into array
print("Loading Package List... please wait")
packages = []
packagelisturl = os.getcwd() + "packages.list"
dom = minidom.parse(urllib.urlopen(packagelisturl))
try:
for eachattributeofpkglist in dom.GetElementsByTagNameNS(packagelist, 'packages'):
packages.append({
'title': node.getAttribute('title'),
'shortname': node.getAttribute('shortname'),
'dlurl': node.getAttributes('dlurl'),
'description': node.getAttributes('description'),
'tags': node.getAttributes('tags'),
'infopage': node.getAttributes('infopage'),
'quality': node.getAttributes('quality'),
'id': node.getAttributes('id')
})
except LoadPackageListFailed:
print("Loading Package List failed... try again soon or manually update this release!")
Write2ErrorLog(LoadPackageListFailed)
#Indent Here Fails
def Usage():
#prints usage and closes
print ("Invalid Argument Specified, please retry using the format stated below\n")
print ("*** Simtho Usage Parameters ***\n")
print ("-i Installs Local App, include full path")
print ("-u Uninstalls Installed App,include ID or Name")
print ("-l Lists all installed Apps and their ID")
print ("-a Lists All Apps in Repository")
print ("-s Downloads and Installs App from repository, enter the title or id number")
print ("-w Downloads and Installs Single App from a full link")
print ("-r Removes All Packages installed\n")
print ("*** End of Simtho Usage ***")
os._exit(1)
return;
答案 0 :(得分:7)
尝试通过python -t
运行它,看看那里是否有混合的标签和空格。
作为旁注:使用optparse
来处理命令行参数。它将使您的生活更轻松,并产生一个很好的一致界面。
答案 1 :(得分:4)
您发布的代码工作得很好。因此,请检查您发布的部件正上方的线条。如果这没有帮助,请发布确切的错误消息和更多的代码。
修改:同时检查您是否没有标签和空格的混合。
编辑2:(响应OP发布的更多代码)。
啊哈。每个try
都需要一个except
。在LoadPackageList
的定义中,有两个try
。内部有一个except
块,但外层只有一个try
。
答案 2 :(得分:3)
第2行的尝试是否应该有一个除外,最后或者与之相关联?或者这是我以前从未见过的一些新的Python成语?