- 论坛徽章:
- 0
|
整理资料时,整出了高中时读过的一本书,还不错,不过当时是用电子辞典读的,没有书签功能,只能划成一个个的,现在读起来反倒麻烦。
于是就写个脚本把它们合并起来。- # coding gbk
- #
- # author: GreatGhoul
- # email : greatghoul@gmail.com
- # blog : http://greatghoul.javaeye.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()
复制代码 |
|