`

python(1)windows下中文文件路径问题

 
阅读更多

为了将大量的pdf电子书拷贝到sd卡里面,写了一个py小脚本。

对于py,掌握十分有限,这个小脚本遇到两个问题:

(1)py无法识别带中文的文件路径

(2)shutil.copyfile总是报io error permission denied错误

 

解决办法如下:

(1)针对中文路径,做如下处理:srcPath = unicode("D:/360云盘/书籍/e_book/" , "utf8")

(2)当 shutil.copyfile(srcfile, destfile)  中destfile为一个文件目录的时候才会报错,当两个参数均表示文件的时候则不会报错,当然descfile文件是不存在的

 

下面贴出全部代码:

# -*- coding: UTF-8 -*-


#遍历pdf文件
#将文件写入目标文件夹
import os
import shutil


srcPath = unicode("D:/360云盘/书籍/e_book/" , "utf8")
destPath = unicode("G:/My Files/Books" , "utf8")
for dirpath, dirnames, filenames in os.walk(srcPath):
    for filename in filenames:
        if (filename[-3]+filename[-2]+filename[-1]=="pdf") :
            #去掉_后面的文件名
            newfilename=filename.split("_")[0]

            if(newfilename[-3]+newfilename[-2]+newfilename[-1]!="pdf"):
                newfilename=newfilename+".pdf";
           
            #将文件写入新目标文件夹
            srcfile=dirpath+"/"+filename
            destfile=destPath+"/"+newfilename
                
            shutil.copyfile(srcfile, destfile)

 

 

  其中,字符串的截取没处理好,用了一个很二的毛招newfilename[-3]+newfilename[-2]+newfilename[-1]

,汗颜啊,以后有时间再改进。

 

 

 

分享到:
评论

相关推荐

    python在windows下读取给定路径下的文件(编码问题已解决)更新

    要求读取指定路径下的文本文件,打印其信息。 如果按下回车就继续下一个,如果按下esc就退出。 getFiles可以获取指定路径下的所有CSV文件。可以自己修改,加上递归更可以深度遍历所给路径下的包括子路径下的...

    Python删除windows长路径文件

    有时候在Windows上面,如果我们的文件目录层级很深,那么我们想移动或者删除的时候,就会因为路径太深而无法删除或移动,通过这个python程序,可以帮你实现删除任何目录。

    详谈python在windows中的文件路径问题

    在Windows操作系统中,Python语言进行文件路径操作时会遇到一些特有问题,主要原因是Windows使用反斜杠(\)作为路径分隔符,而反斜杠在Python中又作为转义字符。这种双重身份常常导致编程时出现混淆。下面详细解释...

    生成指定文件夹下的全文件路径

    "生成指定文件夹下的全文件路径"这一主题,主要是指通过编程方式获取一个指定目录及其子目录下所有文件的完整路径。这在数据备份、文件搜索、文件管理等多个场景中都非常实用。下面将详细阐述这一知识点。 首先,...

    Python-LnkParse是Windows快捷文件LNK解析器

    5. **日志分析**:在日志文件中,LNK文件路径可能是关键线索,`Python-LnkParse`能帮助解析这些路径,提高日志分析的效率和准确性。 总的来说,`Python-LnkParse`是一个强大且灵活的工具,为Windows环境下的数据...

    分析Python读取文件时的路径问题

    Python在读取文件内容时的路径问题,值得深究一下.我想讨论的重点还是在绝对路径上面.在这之前我们先看一下 1:相对路径 这张图演示了在相对路径下寻找查找指定文件. open(’相对路径演示’\’相对路径示例’....

    实现拖动文件获取路径

    在Windows Presentation Foundation (WPF) 中,实现拖放(Drag and Drop)功能可以让用户通过简单的操作将文件从桌面或其他位置直接拖入应用界面,从而获取这些文件的路径。这一特性在许多应用程序中都非常实用,...

    python3.8.6 windows安装包

    首先,`pythonamd64.exe` 文件是Python 3.8.6的64位安装程序,适用于Windows 64位系统。如果你的计算机是32位系统,则应寻找对应的`pythonx86.exe` 文件。这个可执行文件包含了Python解释器、标准库以及一些基本的...

    python 2.6.4 Windows installer

    6. **安装过程**:运行此MSI文件,用户将引导完成Python 2.6.4的安装,包括选择安装路径、设置环境变量、选择是否添加Python到PATH等选项。 7. **兼容性**:Python 2.6.4可在Windows XP至Windows 7等操作系统上运行...

    Python 3.12.0 Windows 64位版安装程序

    首先,Python 3.12.0的安装程序文件名为"python-3.12.0-amd64.exe",这是一个适用于AMD64架构(也称为x64)的Windows系统的可执行文件。双击该文件,用户将启动安装向导,可以按照以下步骤进行安装: 1. **选择安装...

    python 2.7windows安装包

    5. **环境配置**:如果在安装过程中没有勾选“Add Python to PATH”,则需要手动将Python的安装路径添加到系统环境变量,以便在任何目录下都能运行Python命令。 6. **第三方库安装**:Python 2.7通常还需要配合pip...

    如何将python文件打包成exe文件

    在打包过程中,如果出现错误,例如文件路径不存在,可以将 Python 文件放置在 PyInstaller 解压包目录下面,然后使用命令 pyinstaller -F 文件名.py。 最后,我们可以在 cmd 窗口中看到打包成功的提示,并且可以在...

    python 解决Windows平台上路径有空格的问题

    最近在采集windows上中间件的时候,遇到了文件路径有空格的问题。 例如:Aapche的安装路径为D:\Program Files\Apache Software Foundation\Apache2.2。 采集apache要读取配置文件D:\Program Files\Apache Software ...

    windows下Python,Django安装MySQLdb需要的2个ddl文件

    你需要解压缩这个文件,并将其放置到系统的PATH环境变量所包含的目录下,通常是`C:\Windows\System32`或者你的Python安装目录下的`DLLs`子目录。这样,Python在运行时就能找到并加载这个库文件,从而正确地使用`...

    Python 3.10.12 for Windows 自编译版

    8. **amd64 和 win32 文件**:在压缩包中看到的 `amd64` 文件是适用于 64 位 Windows 系统的版本,而 `win32` 文件则是为 32 位 Windows 设计的。选择正确的版本对于正确安装和运行 Python 至关重要。 安装 Python ...

    Python计数文件夹下数量 windows和linux通用

    在Windows系统中,文件路径通常使用反斜杠(\)分隔,而在Linux和Unix系统中,路径则使用正斜杠(/)分隔。为确保代码在两个平台上都能正常工作,我们可以使用os.path模块中的os.path.join()函数来组合路径,它会...

    windows下tree命令生成的文件解析为绝对路径的工具

    这种技术在处理大量文件路径时非常有用,尤其是在需要批量操作或分析特定路径的场景下。不过,对于非编程人员来说,使用Excel可能会比较复杂,所以也可以考虑编写一个简单的脚本或程序,比如使用Python或批处理文件...

    python编写的WINDOWS进程守护小工具

    4. **文件系统操作**:因为守护工具需要与目标进程在同一目录下运行,所以需要了解如何使用Python的`os`和`pathlib`库来处理文件路径和目录操作。 5. **命令行参数处理**:通过`argparse`库,可以轻松地从命令行...

    python3.1forwindows

    在Windows环境下,Python提供了丰富的工具和资源,使得开发者可以在该平台上进行高效且便捷的编程工作。 Python 3.1是Python发展历史中的一个重要里程碑,它在Python 3.0的基础上进行了优化和扩展。Python 3系列相...

Global site tag (gtag.js) - Google Analytics