# 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
分享到:
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