在Python中使用os.rename()重命名文件时出错

时间:2020-04-26 00:11:05

标签: python windows operating-system

import os

for filename in os.listdir("C:/Users/Awesome/Music"):
    if filename.endswith("lyrics.mp3"):
        os.rename(filename,filename[0 : len(filename)-11]+".mp3")

上面的代码返回错误

File "c:/python/lyrics-pop.py", line 6, in <module>
    os.rename(filename,filename[0 : len(filename)-11]+".mp3")
FileNotFoundError: [WinError 2] The system cannot find the file specified: '2 Chainz - Bigger Than You (feat Drake  Quavo) lyrics.mp3' -> '2 Chainz - Bigger Than You (feat Drake  Quavo).mp3'

“”“

我确保没有其他程序正在访问.mp3文件,并删除了readonly属性。可能是什么原因造成的?

3 个答案:

答案 0 :(得分:1)

问题可能是,您正在将相对路径传递给os.rename,将dir添加到文件路径中,如下所示:

function Square(h, w, x, y, speed) {...}

答案 1 :(得分:0)

这是因为python无法从该程序的运行位置找到文件,因为未提供完整路径。

您可以执行以下操作:

import app from './app'

const port = 3000

app.on('db-connected', () => {
  app.on('redis-connected', () => {
    app.listen(port, () => {
      console.log(`Server running on port ${port}`)
    })
  })
})

答案 2 :(得分:0)

如评论中所建议,问题似乎出在文件的相对路径上。
您可以使用glob,这将为您提供完整的路径,即:

from glob import glob
from os import rename

for f in glob("C:/Users/Awesome/Music/*lyrics.mp3"):
    rename(f, f[0 : len(f)-11]+".mp3")