Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中提取值/重命名文件名_Python_Split_Extract_Wildcard_Rename - Fatal编程技术网

在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:

我正在尝试使用python重命名包含以下值的文件名:
~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,这是我第一次使用这个网站。我将阅读礼仪并提高我的努力。非常感谢。如果每个人都有这种态度:)回答得好。比我的建议更普通。非常有用…非常感谢!回答得好。比我的建议更普通。非常有用…非常感谢!非常有帮助,非常感谢你的帮助非常有帮助,非常感谢你的帮助