在 python 中提取部分匹配的字符串

extracting a partially matched string in python

我有一个文件夹,里面的文件都命名为

“12345input789”

“12345output291”

我想找到起始位(“12345”)匹配的每一对文件并对这两个文件执行一些操作

for file_name in os.listdir(directory):
    if "input" in filename:
         input = os.path.join(directory, file_name)
          # how do i extract the output name string here
    else:
        continue 

提前致谢。

您可以将所有文件名保存在两个词典中:

inputs, outputs = {}, {}
for file_name in os.listdir(directory):
    if "input" in filename:
         pre, _, post = filename.partition("input")
         inputs[pre] = filename
    elif "output" in filename:
         pre, _, post = filename.partition("output")
         outputs[pre] = filename

# Now you can iterate over all inputs:
for prefix, input_filename in inputs.items():
    output_filename = outputs[prefix]
    do_stuff(input_filename, output_filename)

如果输入文件没有匹配的输出文件,这当然会崩溃,因此请确保不是这种情况,或者处理它。