Python 将文本文件彼此相邻(并排)连接起来

Python 将文本文件彼此相邻(并排)连接起来,python,text,concatenation,Python,Text,Concatenation,我有以下用于连接一系列文本文件的代码。 但是我想把文件中的数据放在前几行的旁边而不是下面,我该怎么做呢 for dir in list(subdirs): splitdir = dir.split('/') # YOU WILL NEED TO EDIT THIS TO GRAB sub001 splitdir_sub = splitdir[5] subnum=splitdir_sub[-4:] # YOU WILL ALSO NEED TO EDIT THIS TO GR

我有以下用于连接一系列文本文件的代码。 但是我想把文件中的数据放在前几行的旁边而不是下面,我该怎么做呢

for dir in list(subdirs):
  splitdir = dir.split('/')
  # YOU WILL NEED TO EDIT THIS TO GRAB sub001
  splitdir_sub = splitdir[5]
  subnum=splitdir_sub[-4:]
  #  YOU WILL ALSO NEED TO EDIT THIS TO GRAB THE PART WITH THE RUNNUM
  splitdir_run = splitdir[8]
  runnum=splitdir_run[-1:]
  print("marging subject %s Run %s"%(subnum, runnum))
  filenames = ['/home/navotn/Exp5/participants/%s/preprocessed/1lev/block%sn.feat/white_matter.txt'%(subnum, runnum), '/home/navotn/Exp5/participants/%s/preprocessed/PPFSL/block%s/motion_assess/confound.txt'%(subnum, runnum)]
  with open("%s/%s/preprocessed/PPFSL/block%s/motion_assess/confoundWM.txt"%(fsfdir, subnum, runnum), 'w') as outfile:
      for fname in filenames:
          with open(fname) as infile:
              for line in infile:
                  outfile.write(line)

如果输入文件具有相同的行数,此代码可能会提供所需的内容

import os

fileNames = os.listdir('concatenate')
os.chdir('concatenate')
previous = fileNames[0]
for fileName in os.listdir('.')[1:]:
    with open(previous) as oldConcatenate, open(fileName) as nextFile, open('new.txt', 'w') as newConcatenate:
        while True:
            oldLine = oldConcatenate.readline().strip()
            if not oldLine:
                break
            nextLine = nextFile.readline().strip()
            newConcatenate.write(oldLine + nextLine + '\n')
    if previous != fileNames[0]:
        os.remove('concatenated.txt')
    os.rename('new.txt', 'concatenated.txt')
    previous = 'concatenated.txt'

代码将第二个文件连接到第一个文件,并将其保留为文件“concatenated.txt”,然后将第三个文件添加到此文件,并再次将此文件保留为“concatenated.txt”,依此类推

您的文件是否以空的新行结尾?因为这可能就是原因。@Navot Naor尝试使用文件附加'a'而不是文件写入'w'