在python中提取值/重命名文件名

时间:2012-11-06 01:27:23

标签: python split extract wildcard rename

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

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

2 个答案:

答案 0 :(得分: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

答案 1 :(得分: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!