我在目录中有一组文件,其名称例如:
"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"
。
这里是实现@aws_apprentice的建议的方法:
就个人而言,我将使用正则表达式。它可能会过大,但是如果您需要对提取的字符串的任何部分进行任何更改,它将非常方便。