关于一个大问题!!!(其实也不是很大)
来源:2-5 实战自定义包(2)
Kepler_
2019-12-08 18:05:34
import os.path
def fu_c(flie_name):
'''
:param flie_name:
:return:
'''
y = -1
if os.path.isfile(flie_name):
return y
x,c = os.path.splitext(flie_name)
c = c.lower()
if c in ('jpg','png','gif','bmp'):
y = 0
elif c in ('doc','docx'):
y = 1
elif c in ('xls''xlsx'):
y = 2
elif c in ('ppt','pptx'):
y = 3
return y
下面是另一个.py文件的代码
def work():
f_jk = 'C:\\soft2\\ts.xlsx'
shool = fu_c(f_jk)
print(shool)
if __name__ == '__main__':
work()
老师,我在传入这个 f_jk = 'C:\\soft2\\ts.xlsx'的时候,输出总是-1,在我很懊恼的时候,我去找了一下路径,发现找不到,但是后来我尝试了一下把后面的ts.xlsx的这个删掉之后变成: f_jk = 'C:\\soft2
它是能执行的!!输出是2!这是为什么???




2回答
同学,你好。
1、当传入的file_name不是一个文件时,返回-1,因此应使用not取反

2、使用splitext()得到的扩展名是有点号的,因此在条件判断中也应添加点号。另,第三个条件中缺少逗号

如果我的回答解决了您的疑惑,请采纳!祝学习愉快~~~~
Kepler_
提问者
2019-12-08
这个是那个路径的图片,老师看一下,嘻嘻~