喵吉欧尼酱

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

打开文件   关闭文件

打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,日后通过此文件句柄对该文件操作。

打开文件的模式有:

  • r,只读模式(默认)。
  • w,只写模式。【不可读;不存在则创建;存在则删除内容;】
  • a,追加模式。【可读;   不存在则创建;存在则只追加内容;】

"+" 表示可以同时读写某个文件

  • r+,可读写文件。【可读;可写;可追加】
  • w+,写读
  • a+,同a

"U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用)

  • rU
  • r+U

"b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)

  • rb
  • wb
  • ab

 

常用操作函数

open(文件名,模式,编码),默认只读模式
f=open('li.log')
f.close()
print(f.read())


close(self) 关闭文件
close(self) 文件描述符
flush(self)  刷新文件内部缓冲区
next 获取下一行数据
readline(self, size=None)  读文件
readline(self, size=None)  只读取一行数据
seek(self, offset, whence=None) 指定文件的指针位置
tell(self):  获取当前指针位置
write(self, p_str)  写内容

三、with

为了避免打开文件后忘记关闭,可以通过管理上下文,即:

1
2
3
with open('log','r') as f:
     
    ...

如此方式,当with代码块执行完毕时,内部会自动关闭并释放文件资源。

在Python 2.7 后,with又支持同时对多个文件的上下文进行管理,即:

1
2
with open('log1') as obj1, open('log2') as obj2:
    pass

 冒泡算法

li=[11,22,33,44],将22,33互换位置

1 >>> li=[11,22,33,44]
2 >>> temp=li[1]
3 >>> li[1]=li[2]
4 >>> li[2]=temp
5 >>> li
6 [11, 33, 22, 44]

 从小到大排序

[3, 2, 11, 14, 22, 141]
>>> for j in range(1,len(li)):
    for i in range(len(li)-j):
        if li[i]>li[i+1]:
            remp=li[i]
            li[i]=li[i+1]
            li[i+1]=remp

            
>>> li
[2, 3, 11, 14, 22, 141]
View Code

 递归算法

 

def fun(a1,a2):
    print(a1)
    a3=a1+a2
    fun(a2,a3)

 

posted on 2017-08-26 14:13  喵吉欧尼酱  阅读(183)  评论(0)    收藏  举报