Python文件名过长怎么解决?Python如何保存文件为长文件名

在python之中有些时候读写文件会遇到文件名很长而不能够正常的读和写的问题 , 那么这个问题最简单的方法就是更改文件名 。但是想要在不破坏文件名的情况下还正常的执行读写操作 , 那么下面的这一篇文章需要的小伙伴就要认真去阅读了 , 一起往下看看吧 。

Python文件名过长怎么解决?Python如何保存文件为长文件名

文章插图
一、写
写入文件时设置文件名很长的原因主要是使用了随机码 , 因为像保存多张图片或者是文档的话 , 就是需要用不同且不重复的名称对它们进行区分 。
所以需要用到os模块以及字符串切片的方式 , 将整个文件的名称分为头、关节、尾三个部分 。根据它的总长度去进行计算 , 来将中间关节部分的名称换成省略号进行显示 。而头和尾则分别使用原来的一部分文件名 , 函数如夏所示:
def shorten_filename(filename, limit=100):    if len(filename) <= limit:        return filename    else:        return filename[:int(limit / 2) - 3] + '...' + filename[len(filename) - int(limit / 2):]二、读
读取文件的话就是要在python之中来将文件名称完整的写出来了 , 但是因为Windows系统以及linux系统会限制文件名的最大长度为260以及255 , 超过这个长度都是没有办法被识别出来的 。
而解决方法就是要在文件名的前面加上一个一个字符串'\\\?\\' , 这个字符串的意思表示的就是让系统忽略掉文件路径的长度 , 能够识别任意长度名称的文件 。不过需要使用在绝对路径上 , 示例如下:
newfile = os.path.join('\\\?\\'+new_path,png)【Python文件名过长怎么解决?Python如何保存文件为长文件名】以上就是关于“Python文件名过长怎么解决?Python如何保存文件为长文件名”的全部内容了 , 希望对你有所帮助 。

    推荐阅读