91-OOP练习:实现unix2dos和dos2unix功能

windows文本行结束标志是\r\n,非windows的是\n。

import os

class Convert:
    def __init__(self, fname):
        self.fname = fname

    def to_linux(self):
        dst_fname = os.path.splitext(self.fname)[0] + '.linux'
        with open(self.fname, 'r') as src_fobj:
            with open(dst_fname, 'w') as dst_fobj:
                for line in src_fobj:
                    line = line.rstrip() + '\n'
                    dst_fobj.write(line)

    def to_windows(self):
        dst_fname = os.path.splitext(self.fname)[0] + '.windows'
        with open(self.fname, 'r') as src_fobj:
            with open(dst_fname, 'w') as dst_fobj:
                for line in src_fobj:
                    line = line.rstrip() + '\r\n'
                    dst_fobj.write(line)


if __name__ == '__main__':
    c = Convert('/tmp/passwd')  # cp /etc/passwd /tmp
    c.to_linux()
    c.to_windows()
    原文作者:凯茜的老爸
    原文地址: https://www.jianshu.com/p/d55e3ad31539
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞