python text文件合并_Python合并文本文件

# coding gbk

#

# author: GreatGhoul

# email : greatghoul@gmail.com

# blog : http://greatghoul.iteye.com

import sys,os,msvcrt

def join(in_filenames, out_filename):

out_file = open(out_filename, 'w+')

err_files = []

for file in in_filenames:

try:

in_file = open(file, 'r')

out_file.write(in_file.read())

out_file.write('\n\n')

in_file.close()

except IOError:

print 'error joining', file

err_files.append(file)

out_file.close()

print 'joining completed. %d file(s) missed.' % len(err_files)

print 'output file:', out_filename

if len(err_files) > 0:

print 'missed files:'

print '--------------------------------'

for file in err_files:

print file

print '--------------------------------'

if __name__ == '__main__':

print 'scanning...'

in_filenames = []

file_count = 0

for file in os.listdir(sys.path[0]):

if file.lower().endswith('[all].txt'):

os.remove(file)

elif file.lower().endswith('.txt'):

in_filenames.append(file)

file_count = file_count + 1

if len(in_filenames) > 0:

print '--------------------------------'

print '\n'.join(in_filenames)

print '--------------------------------'

print '%d part(s) in total.' % file_count

book_name = raw_input('enter the book name: ')

print 'joining...'

join(in_filenames, book_name + '[ALL].TXT')

else:

print 'nothing found.'

msvcrt.getch()

下载次数: 99

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2010-06-07 16:17

浏览 2225

论坛回复 / 浏览 (13 / 8832)

评论

13 楼

伊落丹

2010-11-16

liangguanhui 写道

f = open('all.txt', 'w')

for i in sys.argv[1:]: f.write(open(i).read())

f.close()

每次write会覆盖之前的内容吧。

12 楼

izat

2010-10-08

kairos 写道

好简洁阿,

但是这个f是怎么打开的。。

只是替换了For循环,没打开也没关闭……

11 楼

kairos

2010-10-06

好简洁阿,

但是这个f是怎么打开的。。

10 楼

izat

2010-09-16

liangguanhui 写道

f = open('all.txt', 'w')

for i in sys.argv[1:]: f.write(open(i).read())

f.close()

reduce(lambda _, x: f.write(open(x).read()), sys.argv)

9 楼

mossmouser

2010-07-06

啊,总算能看明白点楼主的代码。正在窃喜。

就看到是被说成垃圾代码。。

惭愧……

8 楼

liangguanhui

2010-06-19

f = open('all.txt', 'w')

for i in sys.argv[1:]: f.write(open(i).read())

f.close()

7 楼

greatghoul

2010-06-16

不如论坛里面的各位python大鸟,就以这段代码为蓝本,Python合并文本文件,看看谁写的代码更pythonic吧。

(调用copy *.txt out.txt的方法就算了)

6 楼

greatghoul

2010-06-16

rrsy23 写道

什么垃圾代码

能不能写的漂亮点[格式,排版,简洁]

不过,如果你如果愿意花点时间,把这段“垃圾”代码改写的格式,排版,简洁,我倒是很愿意请教。我这段确实很多地方欠考虑。

5 楼

greatghoul

2010-06-16

rrsy23 写道

什么垃圾代码

能不能写的漂亮点[格式,排版,简洁]

初学而已,你初学的时候,大概还写得不如我呢。

楼上 你太坏了。

3 楼

rrsy23

2010-06-14

什么垃圾代码

能不能写的漂亮点[格式,排版,简洁]

2 楼

greatghoul

2010-06-08

zbird 写道

copy *.txt out.txt

这个俺知道,只是练习脚本而已。

1 楼

zbird

2010-06-08

copy *.txt out.txt

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值