将文件夹中的所有文件名更改为其他Python

格伦维尔·佩科

对于python,我正在编写os.rename()用于重命名文件的代码

到目前为止,我有:

[os.rename(f, f.replace('New', '-'))
    for f in os.listdir('.') if not f.startswith('.')]

我试图做的是从C:\Users\MyName\Desktop\pythonVSC调查C:\Users\MyName\Desktop\pythonVSC\forTest和更改所有情况New-

forTest我有两个.txt文件名NewNew_

我了解做什么,.replace做什么.listdir,也.startwith什么

我的问题是,如果我改变'.'os.listdir('.')的语句来'./somePath'我得到的错误所看到如下

Exception has occurred: FileNotFoundError
[WinError 2] The system cannot find the file specified: 'New.txt' -> '-.txt'
  File "C:\Users\MyName\Desktop\pythonVSC\rename.py", line 29, in <listcomp>
    [os.rename(f, f.replace('New', '-')) for f in os.listdir('./forTest') if not f.startswith('.')]
  File "C:\Users\MyName\Desktop\pythonVSC\rename.py", line 29, in <module>
    [os.rename(f, f.replace('New', '-')) for f in os.listdir('./forTest') if not f.startswith('.')]

我试着更换os.listdir('.')os.listdir('forTest')os.listdir('C:\Users\MyName\Desktop\pythonVSC\forTest')以及任何其他变化

我在这里做错了什么?

wjandrea

您要引用的文件在另一个目录中,但是os.rename不知道。

最简单的解决方案是仅更改到另一个目录:

os.chdir('./forTest')
[os.rename(f, f.replace('New', '-')) for f in os.listdir('.') if not f.startswith('.')]

或者,更简单地说,通过完整路径:

dirname = './forTest'
for f in os.listdir(dirname):
    if f.startswith('.'):
        continue
    f_new = f.replace('New', '-')
    os.rename(*(os.path.join(dirname, fname) for fname in (f, f_new)))

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将目录的所有文件和文件夹权限更改为644/755

查找和替换文件夹中的所有文件名-PHPStorm / WebStorm

如何使用angular js列出文件夹中的所有文件名

将文件名更改为文件夹名

如何在Python的特定文件夹中更改几个文件名?

如何更改文件夹中的所有文件名?

文件名来自同一文件夹中的其他文件

将具有扩展名的Excel列表中的文件复制到其他文件夹

代码从文件夹中的所有文件名中删除时间戳

从给定文件夹中的所有文件名中删除所有非法字符

UNIX:如何将所有隐藏的文件夹/文件更改为在目录中可见

将文件夹及其子文件夹中的所有文件名写入CSV文件的脚本

批处理文件,用于获取文件夹中的所有文件名

删除文件夹中的所有文件,列表中的文件名除外

将嵌套文件夹的所有文件移动到其他文件夹

htaccess从文件夹内的所有文件将.html更改为.php

如何将文件夹中的所有文件名复制到记事本中?

将批处理脚本中变量中的文件夹内的所有文件名串联起来

python在遵循模式的文件夹中找到所有文件名

Bash脚本从文件夹中的所有文件名中删除字符

将目录中的所有文件名更改为数字

如何选择/复制文件夹1中名称与其他文件夹2中的其他文件夹匹配的所有文件夹

雷鸟更改Maildir文件夹中的文件名

python将文件夹名称附加到所有子文件夹中的文件名

保存在特定文件夹中后,将所有者更改为文件

有没有办法将 Azure Functions 中的文件名 local.settings.json 更改为其他名称

批处理文件检查与文件夹中的其他扩展名相同的文件名

Excel VBA代码将父文件夹中的所有文件名捕获到excel表中

如何将具有相似文件名的文件移动到 Python 中的新文件夹中