这就是脚本
import os
x = os.listdir("/media/virus/Data/Songs/Taylor swift/Taylor Swift - 1989 (Deluxe Version)")
for i in x:
print i
os.rename(i,i[20:])错误显示如下
virus@ShashwatVirus ~ $ python plsdelete.py
01 - Taylor Swift - Welcome To New York.mp3
Traceback (most recent call last):
File "plsdelete.py", line 5, in <module>
os.rename(i,i[20:])
OSError: [Errno 2] No such file or directoryos模块正确地列出了文件,但是当我尝试重命名时出现了问题,我还签入了/usr/lib/python 2.7
发布于 2017-05-11 23:44:48
listdir返回给定文件夹内的文件名,但不返回其完整路径。os.rename不知道您认为您正在查看该特定文件夹中的文件。您只是在没有上下文的情况下给它起了文件名。
您可以使用os.path.join构建这些文件名的路径,以便将文件夹路径连接到文件名。
folder = "/media/virus/Data/Songs/Taylor swift/Taylor Swift - 1989 (Deluxe Version)"
filenames = os.listdir(folder)
for filename in filenames:
oldpath = os.path.join(folder, filename)
newpath = os.path.join(folder, filename[20:])
os.rename(oldpath, newpath)发布于 2017-05-11 23:47:51
您需要将路径添加到传递给rename的文件名
import os
my_dir = "/media/virus/Data/Songs/Taylor swift/Taylor Swift - 1989 (Deluxe Version)"
x = os.listdir(my_dir)
for i in x:
print i
os.rename(os.path.join(my_dir, i), os.path.join(my_dir, i[20:]))发布于 2017-05-11 23:54:50
这样啊,原来是这么回事
我只是通过添加以下内容更改了工作目录
os.chdir("/media/virus/Data/Songs/Taylor swift/Taylor Swift - 1989 (Deluxe Version)")
https://stackoverflow.com/questions/43920041
复制相似问题