在python中提取值/重命名文件名
我正在尝试使用python重命名包含以下值的文件名:在python中提取值/重命名文件名,python,split,extract,wildcard,rename,Python,Split,Extract,Wildcard,Rename,我正在尝试使用python重命名包含以下值的文件名:~test1~test2~filename.csv 我想将文件重命名为filename.csv。波浪线是前两个单词的分隔符,我不希望这些单词出现在我的最终文件名中。这些词是变量。任何协助都将不胜感激。谢谢 import os myfilename = "~test1~test2~filename.csv" for filename in os.listdir("."): if filename == myfilename:
~test1~test2~filename.csv
我想将文件重命名为filename.csv。波浪线是前两个单词的分隔符,我不希望这些单词出现在我的最终文件名中。这些词是变量。任何协助都将不胜感激。谢谢
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
当然,假设原始文件~test1~test2~filename.csv
存在于该python脚本运行的“当前/相同目录”中
希望这对你的学习有帮助
欢迎来到Python 由于每个文件名的单词都会更改,因此最好在目录中搜索与模式匹配的文件。这是为你做的 如果您有这样一个目录:
.
├── ~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
由于每个文件名的单词都会更改,因此最好在目录中搜索与模式匹配的文件。这是为你做的 如果您有这样一个目录:
.
├── ~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
我对python相当陌生,所以我正在尝试学习正则表达式,用于提取的split/joint。我可以直接重命名文件名,但我正试图根据“一致模式/字符”一词提取文件名,以提取我需要的内容。我与.rename一起完成了glob,但这不包括通配符。在问题本身中包含这些信息通常很有帮助,通常使用您尝试过的确切代码。它向人们表明,在发布问题之前,你花了大量时间自己尝试,也为他们提供了一个起点,让他们知道在哪里可以为你寻找问题或困惑的根源。只是一个友好的提示。我道歉。我正在学习python,这是我第一次使用这个网站。我将阅读礼仪并提高我的努力。非常感谢。如果每个人都有这样的态度:)我对python相当陌生,所以我试图学习正则表达式,用于提取的split/joint。我可以直接重命名文件名,但我正试图根据“一致模式/字符”一词提取文件名,以提取我需要的内容。我与.rename一起完成了glob,但这不包括通配符。在问题本身中包含这些信息通常很有帮助,通常使用您尝试过的确切代码。它向人们表明,在发布问题之前,你花了大量时间自己尝试,也为他们提供了一个起点,让他们知道在哪里可以为你寻找问题或困惑的根源。只是一个友好的提示。我道歉。我正在学习python,这是我第一次使用这个网站。我将阅读礼仪并提高我的努力。非常感谢。如果每个人都有这种态度:)回答得好。比我的建议更普通。非常有用…非常感谢!回答得好。比我的建议更普通。非常有用…非常感谢!非常有帮助,非常感谢你的帮助非常有帮助,非常感谢你的帮助