我有点困在这里,如果找到文件,我需要返回值
如果找不到,将抛出错误Index out of list
。将需要捕获并返回在异常中分配给var变量的值,并返回该变量值
错误:
C:\Users\admin\PycharmProjects\pythonProject\venv\Scripts\python.exe C:/Users/admin/PycharmProjects/pythonProject3/search.py
File "C:\Users\admin\PycharmProjects\pythonProject3\search.py", line 13
return var
^
SyntaxError: 'return' outside function
我的代码:
import os
import glob
pathname='C:\\Users\\admin\\Desktop\\JUL\\'
if os.path.exists(pathname):
var=glob.glob('{0}/log.*'.format(pathname))
try :
fnme=var[0]
head , tail = os.path.split(fnme)
var=tail
return var
except IndexError as Ier:
var='abc.txt'
return var
预期输出:
如果找到文件,则返回var=>;log.txt
如果不从fnme=var[0]
返回任何值,则会导致索引脱离列表,在这种情况下,返回var=>;abc.txt
您只能从函数返回,而您在那里没有函数
但是,根据您问题中的代码和描述,我想说,在您的案例中,“return”的定义只是打印值。这可以通过以下方式实现(当然,在导入
sys
之后):但是,您也可以稍微清理一下代码,使其更加简洁:
Pythonreturn字用于从函数返回值。 如果代码不在函数中,则不能使用返回字
要使代码正常工作,您可以通过以下方式进行更改:
为此:
谢谢你的解决方案,我能够做到:@paxdiablo和@GreyHope
相关问题 更多 >
编程相关推荐