gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 02:06:52 25 4
gpt4 key购买 nike

对于 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') 和它的任何其他变体

我在这里做错了什么?

最佳答案

您所指的文件在另一个目录中,但 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)))

关于python - 将文件夹中的所有文件名更改为其他 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54526411/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com