• python 复制文件流程


     例子代码:

    [root@master script]# vim copy_file.py    
    #!/usr/bin/python
    # -*- coding:utf-8 -*-
    
    old_file_name = raw_input("Please input you need copy's file name:" )
    
    old_file = open(old_file_name,'r')
    
    new_file = open('langwang.txt','w')
    
    content = old_file.read()
    
    new_file.write(content)
    
    old_file.close()
    new_file.close()

    如果:hello.py  hello[复件].py 怎么实现呢?

    [root@master script]# vim copy_file.py
    #!/usr/bin/python
    # -*- coding:utf-8 -*-
    
    old_file_name = raw_input("Please input you need copy's file name:" )
    
    old_file = open(old_file_name,'r')
    
    new_file_name = old_file_name.split('.')[0] + '[复件].' + old_file_name.split('.')[1]
    new_file = open(new_file_name,'w')
    
    content = old_file.read()
    
    new_file.write(content)
    
    old_file.close()
    new_file.close()

    还可以是:

    [root@master script]# vim copy_file.py    
    #!/usr/bin/python
    # -*- coding:utf-8 -*-
    
    old_file_name = raw_input("Please input you need copy's file name:" )
    
    old_file = open(old_file_name,'r')
    
    #new_file_name = old_file_name.split('.')[0] + '[复件].' + old_file_name.split('.')[1]
    position = old_file_name.rfind(".")
    new_file_name = old_file_name[:position] + '[复件]' + old_file_name[position:]
    new_file = open(new_file_name,'w')
    
    content = old_file.read()
    
    new_file.write(content)
    
    old_file.close()
    new_file.close()

    提示:

    当一个文件非常大的时候,禁止使用read()读取,内存空间有限,用read()读取大文件会出现memory err ,内存不足的情况

    这种情况就没有解决办法吗?有的====》推荐使用如下代码:

    [root@master script]# cat copy_file.py 
    #!/usr/bin/python
    # -*- coding:utf-8 -*-
    
    old_file_name = raw_input("Please input you need copy's file name:" )
    
    old_file = open(old_file_name,'r')
    
    position = old_file_name.rfind(".")
    new_file_name = old_file_name[:position] + '[复件]' + old_file_name[position:]
    
    new_file = open(new_file_name,'w')
    while True:
        content = old_file.read(1024)
        if not content:
            break
        new_file.write(content)
    
    old_file.close()
    new_file.close()

     ##########文件的位置############

    In [17]: f = open("hello.py",'r')
    
    In [18]: f.read()
    Out[18]: "#!/usr/bin/python
    #-*- coding:utf-8 -*-
    
    i = 1
    
    while i<=5:
        j = 1
        while j<=i:
            print '*',
            j+=1
        print ''
        i+=1
    
    "
    
    In [19]: f.seek(0,0)        ##指针,seek(0,0) 代表从头开始读
    
    In [20]: f.read()
    Out[20]: "#!/usr/bin/python
    #-*- coding:utf-8 -*-
    
    i = 1
    
    while i<=5:
        j = 1
        while j<=i:
            print '*',
            j+=1
        print ''
        i+=1
    
    "
    
    In [21]: f.read()
    Out[21]: ''
    
    In [22]: f.tell()    ##指针的位置索引
    Out[22]: 141
    
    In [23]: f.read()
    Out[23]: ''
    
    In [24]: f.tell()
    Out[24]: 141
    
    In [25]: f.seek(0,0)
    
    In [26]: f.tell()
    Out[26]: 0
    

      

  • 相关阅读:
    springMVC总结
    spring总结
    dubbo文档
    mysql集群
    JVM-优化
    JVM-GC日志打印
    JVM-垃圾回收
    JVM-问题定位示例
    C++11
    《疯狂的程序员》
  • 原文地址:https://www.cnblogs.com/shanhua-fu/p/7641113.html
Copyright © 2020-2023  润新知