我有一个文件,内容如下
abcdef
ghijkl
mnopqr
stuvwx
我想将此内容放入另一个看起来像
的文件中ab
cd
ef
gh
ij
kl
mn
op
qr
st
uv
wx
我如何使用python ??
答案 0 :(得分:2)
好了,在更新了你的问题之后,我的代码现在与你的解决方案无关,但我把下面的内容合并到了这里:
''' Split by n number of delimeters
'''
def splitByNDelims(s, n, d):
return d.join(s[i:i+n] for i in range(0,len(s),n))
outputFile = open('outputFile.txt', 'w')
with open('inputFile.txt', 'r') as inputFile:
for line in inputFile:
outputFile.write(splitByNDelims(line, 2, '\n') + '\n')
outputFile.close()
我会在下面为其他人保留原来的答案。
myStr = "abcdef ghijkl mnopqr stuvwx"
def superJoin(aStr, n):
return ' '.join([subJoin(part, n) for part in aStr.split(' ')])
def subJoin(aStr, n):
return ' '.join([aStr[i:i+n] for i in range(0, len(aStr), n)])
print superJoin(myStr, 2)
print superJoin(myStr, 3)
的输出:强> 的
ab cd ef gh ij kl mn op qr st uv wx
abc def ghi jkl mno pqr stu vwx
def comboJoin(s, n, d):
return d.join([d.join([p[i:i+n] for i in range(0,len(p),n)]) for p in s.split(' ')])
print comboJoin(myStr, 2, '-')
的输出:强> 的
ab-cd-ef-gh-ij-kl-mn-op-qr-st-uv-wx
如果你预处理字符串并删除空格,你可以加入任何可被字符串长度整除的数字:
def simpleJoin(s, n, d):
t = s.replace(' ', '')
return d.join(t[i:i+n] for i in range(0, len(t), n))
print simpleJoin(myStr, 2, '-')
print simpleJoin(myStr, 3, '-')
print simpleJoin(myStr, 4, '-')
print simpleJoin(myStr, 6, '-')
print simpleJoin(myStr, 8, '-')
print simpleJoin(myStr, 12, '-')
的输出:强> 的
ab-cd-ef-gh-ij-kl-mn-op-qr-st-uv-wx
abc-def-ghi-jkl-mno-pqr-stu-vwx
abcd-efgh-ijkl-mnop-qrst-uvwx
abcdef-ghijkl-mnopqr-stuvwx
abcdefgh-ijklmnop-qrstuvwx
abcdefghijkl-mnopqrstuvwx