在文件名中用空格分隔所选字符列表

问题描述 投票:0回答:2

我在目录中有一组文件,其名称例如:

"34_R1.fastq", "100_R1.fastq", "100_R2.fastq", "EF23_R1.fastq"

并且我想在第一个下划线之前用空格分隔字符列表,没有重复。仅上述文件,我想要的输出将是"34 100 EF23"

我已经编写了python脚本来开始此过程,但是我注意到输出不正确。显然存在重复项,因为我尚未编写代码来处理这些重复项,但这是因为我无法在下划线前得到正确区分数字/字母数字字符的输出。关于我的代码不正确的任何想法吗?

# In directory with all files
import os
import re

file1 = open("RIL_list.txt", "a")

for filename in os.listdir("."):
    m = re.split("_", filename)[0]
    file1.writelines(' '.join(m))

file1.close()

使用此代码输出不正确,因为在此过程中数字和字母数字字符被分隔开。我最终会得到file1,其中包含类似上面的"34 1 00 10 0E F2 3"

python regex list
2个回答
1
投票

这里是实现@aws_apprentice的建议的方法:


0
投票

就个人而言,我将使用正则表达式。它可能会过大,但是如果您需要对提取的字符串的任何部分进行任何更改,它将非常方便。

© www.soinside.com 2019 - 2024. All rights reserved.