我有点坚持这一点,我需要返回值,如果文件找到
如果找不到,则会抛出错误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]
返回任何值,则会导致Index Out of List,在这种情况下返回var =〉abc.txt
3条答案
按热度按时间ddarikpa1#
你只能从一个 * 函数返回,而你在那里没有函数。
但是,根据你问题中的代码和描述,我认为在你的例子中,“return”的定义只是打印值。这可以通过类似这样的方法来完成(当然是在导入
sys
之后):但是,你也可以稍微清理一下代码,使其更加简洁:
dkqlctbz2#
Pythonreturn字用于从函数返回值。如果代码不在函数内部,则不能使用return字。
为了让你的代码工作,你可以这样修改它:
对此:
0sgqnhkj3#
谢谢你的解决方案,我能做到:@paxdiablo和@GreyHope