《云计算全栈》-python篇:编写程序,将unix文本文件格式转换为windows文本文件的格式

2 案例2:编写unix2dos的程序
2.1 问题

创建unix2dos.py脚本,要求如下:

Windows文本文件的行结束标志是\r\n
类unix文本文件的行结束标志是\n
编写程序,将unix文本文件格式转换为windows文本文件的格式

2.2 方案

更改新文件格式,利用复制文件方式,将原文件内容写入新文件

将上传的实参(即unix文件名)转化为windows文本格式(即后缀增加.txt),用with方法打开原文件,用with方法以写方式打开新文件,用for循环遍历原文件将遍历结果写入新文件,如果上诉三方面判断都结束,将符合标识符命名规则字符返回,将以上所有功能封,如下两点需要注意:

1.调用unix2dos ()函数时上传文件名实参,是利用sys.argv[]参数,在命令行调用的时候由系统传递给程序,这个变量其实是一个List列表,用于保存命令行上的参数,argv[0] 一般是“被调用的脚本文件名或全路径”,argv[1]和以后就是传入的系统命令参数

2.遍历原文件内容时, 用rstrip() 删除原文件unix文件行结束标志,增加新文件行结束标记后,再将内容写入到新文件
2.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:编写脚本

    [root@localhost day05]# vim unix2dos.py
    #!/usr/bin/env python3
    import sys
    def unix2dos(fname):
        dst_fname = fname + '.txt'
        with open(fname) as src_fobj:
            with open(dst_fname, 'w') as dst_fobj:
                for line in src_fobj:
                    line = line.rstrip('\r\n') + '\r\n'
                    dst_fobj.write(line)
    if __name__ == '__main__':
        unix2dos(sys.argv[1])  # python3 unix2dos.py unix2dos.py

步骤二:测试脚本执行

[root@localhost day05]# ls
unix2dos.py
[root@localhost day05]# python3  unix2dos.py  unix2dos.py
[root@localhost day04]# ls
unix2dos.py  unix2dos.py.txt
发布了275 篇原创文章 · 获赞 46 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/xie_qi_chao/article/details/104726077
今日推荐