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()
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • .bat脚本基本命令语法 目录 批处理的常见命令(未列举的命令还比较多,请查阅帮助信息) 1、REM 和 :: 2...
    庆庆庆庆庆阅读 8,214评论 1 19
  • 总觉得别人的生活是好的,朋友圈各种晒美食,旅游,点开万般羡慕,总觉得别人生活无比美好并且很潇洒,但实际上经过深入了...
    Youmi123阅读 569评论 0 0
  • 文/June 1. 被尘封的梦想 是的,我又荒废了一个春季。 我重新拾起文字应该是在去年的十一月份吧。当时真的是很...
    June均阅读 130评论 0 0
  • 夜思 撩人的夜色下,思绪翻涌而来 是旧日时光如水倾泻 还是撕碎了未来容貌的彷徨 我们都困在自己的局里 演绎着各自的...
    且记今朝阅读 593评论 7 11
  • 终于等到你,还好我没放弃。 国产动作片导演能让阿布期待的不多。 徐克算一个。 之前就聊过,徐老怪在导演圈子里绝对是...
    腹黑电影阅读 583评论 0 1