大家好,我一直在这个论坛四处寻找我想要的东西,但找不到任何东西。对python来说非常新的东西一定很温柔。使用python 2
我在像这样的文件夹中有一堆文件名:
[Dog]test 2021-04-01 22-12-01.txt
[Dog]test2 2021-02-01 22-22-01.txt
[Dog]test3 2020-05-01 22-23-21.txt
[Dog]test4 2020-02-07 22-22-31.txt
我想做的是使所有文件看起来像这样:
test.txt
test2.txt
test3.txt
test4.txt
我找到了一些删除关键字的代码,以及删除一些字符的其他代码,但是它并不能满足我的所有需求。
干杯
编辑:说文件名不是全部都以相同的[Dog]开头,说是[Dog] [Cat] [Bird]然后是filename.txt还有一种方法可以直接定向到文件夹中的所有文件,而不是写入所有文件名在代码中?
如果所有文件均以“ [dog]”开头且均为txt格式,则只需跳过前5个字符,在空格处分割文件,使用第一部分([0]),然后手动添加“ .txt” 。但是仅当文件按照您说的那样格式化时才有效。
data = ['[Dog]test 2021-04-01 22-12-01.txt',\
'[Dog]test2 2021-02-01 22-22-01.txt',\
'[Dog]test3 2020-05-01 22-23-21.txt',\
'[Dog]test4 2020-02-07 22-22-31.txt']
new_data = [file[5:].split(' ')[0] + '.txt' for file in data]
编辑
要将数据列表替换为目录列表,可以使用:
import os
path = r"C:\user\folder"
data = os.listdir(path)
#Unedited
print(data)
new_data = [file[5:].split(' ')[0] + '.txt' for file in data]
#Edited
print(new_data)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句