当前位置: 首页 > 面试题库 >

使用Python重命名目录中的多个文件

高慈
2023-03-14
问题内容

我正在尝试使用以下Python脚本重命名目录中的多个文件:

import os
path = '/Users/myName/Desktop/directory'
files = os.listdir(path)
i = 1

for file in files:
    os.rename(file, str(i)+'.jpg')
    i = i+1

运行此脚本时,出现以下错误:

Traceback (most recent call last):
  File "rename.py", line 7, in <module>
    os.rename(file, str(i)+'.jpg')
OSError: [Errno 2] No such file or directory

这是为什么?我该如何解决这个问题?

谢谢。


问题答案:

重命名时您没有给出完整的路径,请按照以下步骤操作:

import os
path = '/Users/myName/Desktop/directory'
files = os.listdir(path)


for index, file in enumerate(files):
    os.rename(os.path.join(path, file), os.path.join(path, ''.join([str(index), '.jpg'])))

编辑 :感谢tavo,第一个解决方案将文件移动到当前目录,修复该问题。



 类似资料:
  • 问题内容: 我正在尝试使用Python重命名目录中的某些文件。 假设我有一个名为的文件,并且想要删除,所以我得到的文件名将是 我正在尝试使用,但无法正常工作。我也考虑过使用字符串操作,但也没有成功。 问题答案: 使用重命名或移动文件或目录。

  • 问题内容: 我有这样的事情: 我想将这些文件重命名为以下形式: 在同一目录中。 我想我可以使用,但是我不知道如何在文件夹和文件重命名的同时使用它。 问题答案: 可以使用bash for loop和: 请注意,如果目录名称包含空格,则上述解决方案将不起作用。相关链接。 另一种基于注释的解决方案(也适用于名称中也包含空格的目录):

  • 问题内容: 如何重命名以下文件: 分为以下几个: 相关代码为: 问题答案: 一行可以分为:

  • 问题内容: 有没有一种简单的方法可以使用Python重命名目录中已包含的一组文件? 示例: 我有一个充满* .doc文件的目录,我想以一致的方式重命名它们。 X.doc->“ new(X).doc” Y.doc->“ new(Y).doc” 问题答案: 这样的重命名非常容易,例如使用os和glob模块: 然后可以在示例中使用它,如下所示: 上面的示例会将dir中的所有文件都转换为,其中是文件的先前

  • 问题内容: 我想重命名与名称相匹配的basedir下的所有目录。例如: 在中,我有: 我想重命名所有匹配的目录,但是我想保留前缀部分。 使用,我可以轻松地列出所有目录,如下所示: 但是,如何使用(或与其他应用程序结合)以保留前缀? 提前谢谢了! 问题答案: 在执行命令之前将目录更改为父目录,因此此处对于每个父目录都是本地的。

  • 前面小节介绍了文件和目录的创建、移动、删除、打包、压缩,本小节介绍如何对已有的文件或者重命名,好的文件命名规范将提升对文件和目录管理的效率。 1. 使用 mv 命令对文件名称 这里还是以 /home 目录的 alltxt.tar 文件为例,可以使用 mv 命令对其重命名: ls mv alltxt.tar newtxt.tar ls 执行结果如下图: 如上图所示相当于文件移动路径没变,名称变