iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python保存文件名太长怎么解决
  • 554
分享到

Python保存文件名太长怎么解决

2023-06-30 12:06:50 554人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章主要讲解了“python保存文件名太长怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python保存文件名太长怎么解决”吧!保存文件名太长OSError: [Errno 36

这篇文章主要讲解了“python保存文件名太长怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python保存文件名太长怎么解决”吧!

保存文件名太长OSError: [Errno 36] File name too lon

问题描述

安装

pip install python-docx

代码

from docx import DocumentDocument().save('{}.docx'.fORMat('1' * 256))

报错 OSError: [Errno 36] File name too long

解决方案

linuxwindows 文件名限制约为 255 个字符

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):]filename = '{}.txt'.format('Lorem ipsum dolor sit amet, consectetur adipiscing elit' * 30)print(filename)print(shorten_filename(filename))# Lorem ipsum dolor sit amet, consectetur adipiscing elitLorem ipsum dolor sit amet, consectetur adipiscing elitLorem ipsum dolor sit amet, consectetur adipiscing elitLorem ipsum dolor sit amet, consectetur adipiscing elitLorem ipsum dolor sit amet, consectetur adipiscing elitLorem ipsum dolor sit amet, consectetur adipiscing elitLorem ipsum dolor sit amet, consectetur adipiscing elitLorem ipsum dolor sit amet, consectetur adipiscing elitLorem ipsum dolor sit amet, consectetur adipiscing elitLorem ipsum dolor sit amet, consectetur adipiscing elitLorem ipsum dolor sit amet, consectetur adipiscing elitLorem ipsum dolor sit amet, consectetur adipiscing elitLorem ipsum dolor sit amet, consectetur adipiscing elitLorem ipsum dolor sit amet, consectetur adipiscing elitLorem ipsum dolor sit amet, consectetur adipiscing elitLorem ipsum dolor sit amet, consectetur adipiscing elitLorem ipsum dolor sit amet, consectetur adipiscing elitLorem ipsum dolor sit amet, consectetur adipiscing elitLorem ipsum dolor sit amet, consectetur adipiscing elitLorem ipsum dolor sit amet, consectetur adipiscing elitLorem ipsum dolor sit amet, consectetur adipiscing elitLorem ipsum dolor sit amet, consectetur adipiscing elitLorem ipsum dolor sit amet, consectetur adipiscing elitLorem ipsum dolor sit amet, consectetur adipiscing elitLorem ipsum dolor sit amet, consectetur adipiscing elitLorem ipsum dolor sit amet, consectetur adipiscing elitLorem ipsum dolor sit amet, consectetur adipiscing elitLorem ipsum dolor sit amet, consectetur adipiscing elitLorem ipsum dolor sit amet, consectetur adipiscing elitLorem ipsum dolor sit amet, consectetur adipiscing elit.txt# Lorem ipsum dolor sit amet, consectetur adipiscing elitLorem ipsum dolor sit amet, consectetur adipiscing elitLorem ipsum do...ipiscing elitLorem ipsum dolor sit amet, consectetur adipiscing elitLorem ipsum dolor sit amet, consectetur adipiscing elit.txt

Python超长文件名解决

今天用python,写一个批量移动文件的代码!

Python保存文件名太长怎么解决

Python保存文件名太长怎么解决

Python保存文件名太长怎么解决

大家看到了,将近900个项目,好几层的目录,一个项目一下面有50几张的照片,要把这些照片集中移动到第一层的目录下面。

最初我的代码是这样写的:

import osfrom shutil import movepath_list = os.listdir('./qi')for path in path_list:    path_list1 = os.listdir('./qi/'+path)    for path2 in path_list1:        path_list2 = os.listdir('./qi/'+path+'/'+path2)        for img in path_list2:            png_list = os.listdir('./qi/'+path+'/'+path2+'/'+img)            for png in png_list:                oldfile = os.path.join('./qi'+'/'+path+'/'+path2+'/'+img+'/',png)                newfile = os.path.join('./qi'+'/'+path+'/',png)                move(oldfile,newfile)

目录有好几个层级,前面的 for 循环就不细述,感觉代码都没错。

运行后总是报错,FileNotFoundError: [WinError 3] 系统找不到指定的路径。

后面发现是文件名超过255位造成的。

最后的解决方法是将相对路径改为绝对路径,并在路径前方加上“\\?\”。

找了前辈的文章,摘要如下:

  • 这个解决方法是想办法告诉电脑我的路径长度很长。首先我查询了windows下文件路径的最大长度是多少,查到的结果是260.这对于绝大多数情况都足够用了,但是文件路径长的问题还是存在的。

  • 然后就看到了UNC的定义,原来windows下的文件路径的长度最大可以是3万多的长度,具体多少记不清了哈哈哈。

  • 只要在绝对路径的前面加上“\\?\”就能告诉计算机我需要使用最大的路径长度,这样就不会出现路径太长而导致的无法操作的问题了。

怎么加“\\?\”这里没有说太清楚了

试了好几次,发现要加好多个\总算得到结果,代码如下供参考:

import osfrom shutil import movepath_list = os.listdir('./qi')#几次循环,获得藏在最底层目录的文件名for path in path_list:    path_list1 = os.listdir('./qi/'+path)    for path2 in path_list1:        path_list2 = os.listdir('./qi/'+path+'/'+path2)        for img in path_list2:            png_list = os.listdir('./qi/'+path+'/'+path2+'/'+img)            for png in png_list:                #获得绝对路径                old_path = os.path.abspath('./qi'+'/'+path+'/'+path2+'/'+img+'/')                new_path = os.path.abspath('./qi'+'/'+path+'/')                #在绝对路径前加料,就可以识别了                oldfile = os.path.join('\\\?\\'+old_path,png)                newfile = os.path.join('\\\?\\'+new_path,png)                move(oldfile,newfile)

感谢各位的阅读,以上就是“Python保存文件名太长怎么解决”的内容了,经过本文的学习后,相信大家对Python保存文件名太长怎么解决这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: Python保存文件名太长怎么解决

本文链接: https://www.lsjlt.com/news/328820.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python保存文件名太长怎么解决
    这篇文章主要讲解了“Python保存文件名太长怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python保存文件名太长怎么解决”吧!保存文件名太长OSError: [Errno 36...
    99+
    2023-06-30
  • 解决Python保存文件名太长OSError:[Errno36]Filenametoolon
    目录保存文件名太长OSError: [Errno 36] File name too lon问题描述解决方案Python超长文件名解决保存文件名太长OSError: [Errno 3...
    99+
    2024-04-02
  • python怎么保存文件_python保存文件教程
    1、首先在python编辑器中,点击【file——new file】,新建文件。 2、然后输入需要的程序代码之后,点击【File】。 3、最后点击Save As去保存文件即可。 以上...
    99+
    2024-04-02
  • Win10提示文件名对目标文件夹可能太长的解决方法
    小编给大家分享一下Win10提示文件名对目标文件夹可能太长的解决方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!大家都知道,有时候win10系统弹出“文件名对目...
    99+
    2023-06-10
  • windows 文件名太长怎么办?Windows关闭/开启短文件名功能的教程
    DOS系统下的命令方式为8.3格式,即文件名不超过8个字符,扩展名不超过3个字符。形如:.exe 。现在Windows系统文件名长度最长可达255个字符了。 下面介绍Windows 关闭、开启短文件名功能 1、按下快捷...
    99+
    2023-06-13
    Windows 短文件名 功能 文件名 太长 windows
  • linux vi保存文件报错怎么解决
    在Linux系统中使用vi编辑器保存文件时,可能会遇到以下错误: “E45: ‘readonly’ option is set ...
    99+
    2024-04-08
    linux
  • python怎么保存list到文件
    要将列表保存到文件中,可以使用以下方法: 使用`pickle`模块将列表保存为二进制文件: import pickle my_...
    99+
    2023-10-24
    python
  • plsql文本导入字符串太长怎么解决
    如果PL/SQL文本导入字符串过长,可以考虑以下几种解决方法: 分解字符串:将较长的字符串拆分为多个较短的字符串,并分别导入。例...
    99+
    2024-02-29
    plsql
  • windows系统下文件名太长无法删除该怎么办?
    首先,此问题不对,所以,本文不保证一定能够解决Windows下文件名太长无法删除的问题。本经验只是根据个人经验总结,并不是指问题的标准解决方案。在windows下,有时候会出现“由 1、DEL /F /A /...
    99+
    2023-06-11
    windows 文件名 系统 太长
  • Oracle无法创建保存文件怎么解决
    如果Oracle无法创建或保存文件,可能是由于以下几种原因: 没有足够的权限:确保Oracle用户有权限创建和保存文件。可以通过...
    99+
    2024-04-09
    Oracle
  • Python openpyxl 无法保存文件的解决方案
    使用openpyxl保存文件的时候,出现最下面异常,查看openpyxl 的版本是2.5.14, 把openpyxl降级就可以解决此问题。 [root@billig mytest...
    99+
    2024-04-02
  • webpack打包文件太大怎么解决
    这篇文章主要讲解了“webpack打包文件太大怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“webpack打包文件太大怎么解决”吧!webpack 把我们所有的文件都打包成一个 JS...
    99+
    2023-06-04
  • php文件修改后无法保存怎么解决
    在PHP开发中,修改文件是一件经常发生的事情。然而,有时你会发现你的修改并没有被保存。这对于初学者和经验丰富的开发者都是非常烦人的。在这篇文章中,我们将深入探讨PHP文件修改后无法保存的问题以及可能的解决方法。检查文件权限首先,我们需要检查...
    99+
    2023-05-14
  • Win10修改hosts文件无法保存怎么解决
    这篇文章主要讲解了“Win10修改hosts文件无法保存怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Win10修改hosts文件无法保存怎么解决”吧!Win10修改hosts文件无...
    99+
    2023-07-01
  • 域名解析文件存在异常怎么解决
    如果您的域名解析文件存在异常,您可以尝试以下解决方法:1. 检查域名解析文件是否正确:检查您的域名解析文件是否正确配置,确保所有的I...
    99+
    2023-06-10
    域名解析文件 域名
  • php怎么保存文件
    这篇文章主要介绍了php怎么保存文件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。php保存文件的方法:首先创建一个PHP示例文件;然后生成文件;最后用代码“if(isset...
    99+
    2023-06-20
  • html文件怎么保存
    为了保存 html 文件,请按照以下步骤操作:在文本编辑器中打开或创建 html 文件。输入或粘贴 html 代码,确保代码正确且符合语法规则。在“文件”菜单中选择“另存为”。在“保存类...
    99+
    2024-04-21
    sublime git
  • python怎么保存py文件到桌面
    将 python 文件保存到桌面的步骤:导入 os 模块,用于与操作系统交互。获取桌面的绝对路径,即用户的 home 目录加上 "desktop" 子目录。打开要保存的文件,并指定 "w...
    99+
    2024-05-05
    python
  • python怎么将数组保存至文件
    可以使用Python的pickle模块将数组保存到文件中。 假设我们有一个名为my_array的数组,我们可以使用以下代码将其保存到...
    99+
    2023-10-24
    python
  • ubuntu中gedit保存后找不到文件怎么解决
    在Ubuntu中,如果使用gedit保存文件后找不到文件,可以尝试以下方法解决问题: 检查保存路径:确保保存文件时选择了正确的路...
    99+
    2024-03-12
    ubuntu
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作