python os.rename 报错OSError: [Errno 2] No such file or directory

一个为apk重命名为..zip文件的脚本,并利用zipfile模块中的方法来提取zip文件中的class.dex,下面是源码但os模块的rename方法报上面的错误,实在... 一个为apk重命名为..zip文件的脚本,并利用zipfile模块中的方法来提取zip文件中的class.dex,下面是源码
但os模块的rename方法报上面的错误,实在不知道哪里出错了,求大神
import os
import zipfile

path=/home/chicho/test/test/
dex_path=/home/chicho/test/test/dex/

apklist = os.listdir(path)

if not os.path.exists(dex_path):
os.makedirs(dex_path)

for APK in apklist:
portion = os.path.splitext(APK)

if portion[1] == ".apk":
newname = portion[0] + ".zip"
os.rename(APK,newname)

if APK.endswith(".zip"):
apkname = portion[0]

zip_apk_path = os.path.join(path,APK)

z = zipfile.ZipFile(zip_apk_path, 'r')

for filename in z.namelist():
if filename.endswith(".dex"):
dexfilename = apkname + ".dex"
dexfilepath = os.path.join(dex_path, dexfilename)
f = open(dexfilepath, 'w+')
f.write(z.read(filename))
啊,对了,path和dex_path的路径忘了加引号,但加上后还是报相同的错
展开
 我来答
albumin
推荐于2017-09-15 · TA获得超过1.2万个赞
知道大有可为答主
回答量:4889
采纳率:87%
帮助的人:2591万
展开全部
for APK in apklist:
portion = os.path.splitext(APK)

if portion[1] == ".apk":
newname = portion[0] + ".zip"
os.rename(os.path.join(path,APK),newname) #os.rename是在当前目录下操作,是不是得加上path这个路径
追问
我照这个修改后,rename仍然报错,错误类型不一样

OSError: [Errno 18] Invalid cross-device link
swg0110
2015-03-16 · TA获得超过469个赞
知道小有建树答主
回答量:1074
采纳率:0%
帮助的人:645万
展开全部
明显路径错了啊
追问
哪里错了,大神赐教
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式