zoukankan      html  css  js  c++  java
  • 关于python打开文件你所不知道的

        python打开文件是否为动态获取文件的内容?什么意思呢? 就是我写一个程序,打开一个文件,一直对他循环读取,我在另一个程序,打开这个文件,以a的模式追加内容,那么第一个程序是否能读取到第二个程序追加的内容呢?  还是说第一次读取的文件  仅仅是一开始读到的内容呢。

      建设一个file文件,内容就为吧lqwzs

     

    这个程序就是读文件,第一次读取全部的内容,注意!!!:读完后文件的seek(光标位置)停在末尾,再读的话就是从原来文件末尾读,那么能不能读到内容呢?接下来看

    运行一下:

     很容易理解,把内容读取到了

     这个程序就是在不断的追加内容,很容易理解. 接下来就是关键了!!!,我在文件末尾添加内容。

     那么能否被读取到呢

    请看:

     挖草,怎么就被读到了呢,什么原因呢,python读取文件是动态的嘛,什么原因呀,我的理解就是,python一切皆对象,文件是对象,也是容器吧,他对应的内存地址,是固定的,但是由于这个内存地址是容器型的(我觉得我再瞎扯  呵呵呵),内部是可以改变的,就像list之类的吧,这样其他程序在添加的,增加了文件内存地址所指向的内容,内存地址本身没有改变,所有就能读到吧,我不禁想到了之前遇到的一个习题:

         哭了,怎么就这样了阿 ,让我来瞎扯一下吧,在函数调用的时候,b是一个默认的列表容器,指向一个内存地址,在经过fun(1),b添加了一个元素1,此时b指向的内存地址并没有改变,只不过内存地址里面内容改变了,b的内存地址并没有改变,第二次调用这个函数,还是用的是b的内存地址,此时的b为[1,2,1],经过第二次调用,添加一个元素,就这样了[1, 2, 1, '阿这,阿这,又是为什么呢']   

        注: lqw的第一个博客园文章,第一次,写了一个小时,发现对知识的理解不够深,感觉是明白了,描述起来,模模糊糊,不够准确吧     要加油那

    ,

                             

     

  • 相关阅读:
    ie6,ie7,ie8 css bug汇总以及兼容解决方法
    关于ie6下的双倍浮动
    团队合作,如何避免js冲突
    实例探索Class文件
    MFC获得本机的IP
    MessageBox英文显示OK/Cancel(适用于中英文界面)
    基于OpenCV的程序脱离动态链接库运行方法 (此方法也可用于将opencv源码编译成一个链接库)
    将摄像头原始RGB数据流编码成H.264文件
    在线程中创建非模态对话框——解决对话框创建一闪就消失问题
    .NET预处理器指令
  • 原文地址:https://www.cnblogs.com/liqiangwei/p/13840685.html
Copyright © 2011-2022 走看看