FileNotFoundError: [WinError 2] 系统找不到指定的文件。解决方法。

1问题描述

使用os.listdir(file_path)方法,遍历目标文件夹中的文件,并进行压缩操作时,系统报错说找不到文件。使用大神的方法在文件路径后面加"/",但是依然不能成功运行。

def zip(self):

     file_path=os.path.join(self.outdir,self.shpname)

     zip_path=os.path.join(self.outdir,f'{self.shpname}.zip')


     if not os.path.exists(zip_path):

        with zipfile.ZipFile(zip_path,'w') as zipobj:

            #遍历目标的所有文件,并写入压缩路径

            for file in os.listdir(file_path):

                # print(file)

                zipobj.write(file)

            zipobj.printdir()

        print('以上文件压缩成功')

      else:

        print('压缩包已存在')

2尝试解决

使用print()方法是可以输出目标文件夹中的文件,但是进行下一步的压缩操作就会报错。

3解决方法

先使用os.chdir(file_path)进入文件,后面使用os.listdir()的时候就不用添加文件位置,最后成功运行。

def zip(self):

    '遍历shp文件夹中的文件,并压缩shp文件夹'

     file_path=os.path.join(self.outdir,self.shpname)

     zip_path=os.path.join(self.outdir,f'{self.shpname}.zip')

     
     # 必须先进入file_path,再使用os.listdir()

     # 直接使用os.listdir(file_path),可正常print

     # 但在写入文件时候会报错

     os.chdir(file_path)

     if not os.path.exists(zip_path):

        with zipfile.ZipFile(zip_path,'w') as zipobj:

            #遍历目标的所有文件,并写入压缩路径

            for file in os.listdir():

                # print(file)

                zipobj.write(file)

            zipobj.printdir()

        print('以上文件压缩成功')

      else:

        print('压缩包已存在')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值