0

我正在尝试使用 python 重命名包含以下值的文件名: ~test1~test2~filename.csv

我想将文件重命名为 filename.csv。波浪号是前两个单词的分隔符,我不希望这些单词出现在我的结局文件名中。这些词是变量。任何援助将不胜感激。谢谢!

4

2 回答 2

2

由于每个文件名的单词都会发生变化,因此最好在目录中搜索与模式匹配的文件。glob为你做。

如果你有这样的目录:

.
├── ~a~b~c.csv
├── file.csv
├── ~foo~bar~f1.csv
└── hello.txt

然后运行这个:

import os, glob
for f in glob.glob('~*~*~*.csv'):
    os.rename(f,f.split('~')[-1])

会给你:

.
├── c.csv
├── f1.csv
├── file.csv
└── hello.txt
于 2012-11-06T02:27:48.083 回答
1
import os

myfilename = "~test1~test2~filename.csv"

for filename in os.listdir("."):
   if filename == myfilename:
       myfilename_new = myfilename.split("~")[-1]
       os.rename(filename, myfilename_new)

当然假设您的原始文件~test1~test2~filename.csv存在于此 python 脚本运行的“当前/相同目录”中。

希望这对您的学习之旅有所帮助!

欢迎来到 Python!

于 2012-11-06T01:34:20.370 回答