我正在从udacity开始用Python开始初学者课程。
我正在关注代码,但是我收到了错误。
我的代码是:
import os
def rename_files():
file_list = os.listdir(r"C:\Users\User\Downloads\prank.zip\prank")
saved_path = os.getcwd()
print("current working directory is" +saved_path)
os.chdir(r"C:\Users\User\Downloads\prank.zip\prank")
for file_name in file_list:
os.rename(file_name, file_name.translate(None, "0123456789"))
os.chdir(saved_path)
rename_files()
它应该摆脱文件名中的数字。但是,我收到了这些错误:
WindowsError: [Error 3] The system cannot find the path specified: 'C:\\Users\\User\\Downloads\\prank.zip\\prank/*.*'
答案 0 :(得分:0)
您正在尝试获取zip文件的目录列表。
虽然Windows允许您从Windows资源管理器中浏览zip文件,但是没有程序(包括Python)能够在不首先提取文件的情况下实际查看文件的内容。
您需要首先将该zip文件解压缩到本地计算机上的目录,然后将该路径提供给您的脚本。
如果要使用python解压缩文件,可以执行以下操作:
import zipfile
with zipfile.ZipFile('C:\Users\User\Downloads\prank.zip', 'r') as z:
z.extractall("C:\Users\User\Downloads\prank")
然后,您可以在脚本中将C:\Users\User\Downloads\prank
传递给os.listdir
。
答案 1 :(得分:-1)
感谢您的回复!
这是我现在的代码:
导入os
导入zipfile
使用zipfile.ZipFile('C:\ Users \ User \ Downloads \ prank.zip','r')作为z: z.extractall( “C:\用户\用户\下载\恶作剧”)
def rename_files():
file_list = os.listdir(r"C:\Users\User\Downloads\prank")
saved_path = os.getcwd()
print("current working directory is" +saved_path)
os.chdir(r"C:\Users\User\Downloads\prank")
for file_name in file_list:
os.rename(file_name, file_name.translate(None, "0123456789"))
os.chdir(saved_path)
rename_files()
我仍然没有得到结果。 shell选项卡只是说:当前工作目录是C:\ Python27
我做错了什么?