python - 使用 Python 复制文件的模式

标签 python python-2.7

我有一个文件,内容如下

abcdef
ghijkl
mnopqr
stuvwx

我想将此内容放入另一个文件中,该文件应如下所示

ab
cd
ef
gh
ij
kl
mn
op
qr
st
uv
wx

如何使用 python 来做到这一点?

最佳答案

好吧,更新您的问题后,我的代码现在与您的解决方案无关,但我已将以下内容合并到此中:

''' 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()

示例:@Python Fiddle

我将在下面为其他人保留我的原始答案。

<小时/>

使用列表理解进行字符串操作

将问题分解为两部分

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

合并为 1 个函数

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

关于python - 使用 Python 复制文件的模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20069971/

相关文章:

python - Numpy:获取索引大于值且条件为真的数组

python - python dict 的 len() 相对于 GIL 是原子的吗?

python - os.walk 返回不同编码的非 ascii (unicode) 文件名,如何处理?

python - Pandas groupby 找出正确与错误的百分比

python - 为什么 numpy.linalg.solve() 提供比 numpy.linalg.inv() 更精确的矩阵求逆?

python - 如何在 Python (2.6) 中将 JSON 解码为 str 而不是 unicode?

python - 避免在 Python Flask 和大多数其他语言中使用魔数(Magic Number)

python - 如果字符串包含另一个字符串,则将字符串替换为同一列表中的另一个字符串

python - 使用中间件类通过应用程序引擎进行移动检测的简单场景

python - 从 WSGI 脚本获取 URL