经过一个学期的学习,越来越觉得Python对于传入文件的把关是严厉而苛责的。
简单来讲,它对于一些被修改后缀名的原文件是极不友好的,诸如此类文件我暂且给他们起名叫“潜在的文件受损情况”。
纵使你的这个文件修改文件名之后仍能在电脑上运行,但它已经不是其最初的模样了。
这里打个比方:就好比一个男孩很帅气,但有一天突然强制性的要求他穿一个裙子上大街,这种情况不是不可以,同样是衣服,也能保暖遮羞,但已经在某些方面改变了起初男孩的模样,在大街上可能会有人用异样的眼光来看待男孩,但是一般没有人当面直接指出这有些许不妥。
上面打的这个比方的后半段也就体现了当你在Python中传入有“潜在文件受损情况”的文件时,出不来运行结果,也就是说会报错,但这个报错它不会明显指出,仅仅会指出你传入文件的这一句有问题,但具体是什么问题,它不会告诉你。
前几天在传入几个后缀名为.mp3的音乐文件时突然就遇到的是这个问题了,代码明明没问题,但就是报错,报错内容输入百度最终也没有得到期待的结果。后来从多个角度思考了一下,锁定在了文件本身。那么就拿音乐文件来说,同样是.mp3后缀名文件,同样在电脑上能正常播放,为什么一个能运行,而另一个就报错呢。这就需要追溯到音乐文件的来源。因为是总结最后得出的经验,就直接说结果了:我想的两点需要注意:
这里仅仅选取了音乐文件作为一个实例实际说明了一下,在实际操作过程中,各种文档、音频、视频等也是这个样子的。这里就不再赘述了。
说了这么多,就是当你的程序中有导入文件时又检查代码发现语法没有问题,但还是报错,这时报错信息不会直接告诉你是哪里有问题,这时就需要注意你的文件是否有“潜在文件受损情况”了。总结一下,就是不要轻易修改文件的后缀名,纵使它能在你的电脑上运行,但它已不是原本的模样(潜在文件受损)。
以上就是花了好长时间才发现的bug修复办法,多多注意就是了。写作本文一方面是自己学习的一个梳理总结,另一方面就是希望本文能对在这方面有疑惑的你有所帮助,吸取这样的经验,少走一些弯路。
初学,难免会有一些疏漏之处,并请大家批评指正!