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

本文介绍了一个用于批量复制PDF文件到指定文件夹的Python脚本。该脚本解决了路径包含中文字符及权限问题导致的错误,并提供了完整的代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为了将大量的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]

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

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值