ptyhon之路day3-文件处理及函数1

ptyhon之路day3-文件处理及函数1

#迭代方式读取文本,如果想要修改文本的内容,只能通过重新创建新文本的方式实现
f_write = open('new.txt', 'w', encoding='GBK')
f_read = open('note.txt', 'r', encoding='GBk')

for line in f_read:
    if 'Corner' in line:
        line = line.replace('Corner', '博客园思密达')
    f_write.write(line)

f_read.close()
f_write.close()

#函数是第一类的对象:指的是函数可以被当做数据传递

4.常用操作

原则:字符以什么格式编译的存,就要以什么格式编码取

  encoding的作用是将文本中的字符以指定的编码方式做解码,即将文本中字符解码为unicode

 

  如果要打开的文本是用utf-8编码的,那么open方法需要设置encoding=’utf-8′

在python3中字符串分两种

  如果要打开的文本是用GBk编码的,那么open方法需要设置encoding=’gbk’

f=open(‘a.txt’,’rb’)

  两个常见方法tell()和seek()

f = open(‘a.txt’,’r’,encoding=’gbk’)
#windows操作系统默认gbk编码

  • r   只读
  • w  只写
  • a  不可读,只能在文本最末尾追加
  • r+   可读可写,光标默认移动到行尾
  • w+  可写可读
  • a+  可读可写,只能在文本最末尾追加

y=x.encode(‘utf-8’) 存成bytes

1.几种打开模式

  

  open(‘note.txt’, ‘w’, encoding=’utf-8′) 或 open(‘note.txt’, ‘w+’,
encoding=’utf-8′)

ab模式

 

1python中操作文件

  以这两种方式open文本时,执行完这条语句后,文本就立刻被清空掉,所以使用w和w+时要谨慎

文本模式的写
必须指定编码,文件不存在创建,文件存在则清空(实际是创建一个新文件覆盖掉)

2.w和w+

也是写模式 写到最后,每次都需要encode操作才能写入

  windows的文本换行符 \n 

    for line in read_f:

3.python3下的编码问题

可以发现之前的操作都是open
并没有关闭文件 这样会导致内存溢出
并没有回收,保证不占操作系统资源

#迭代方式读取文本,只将当前行读入内存
f = open('note.txt', 'r+', encoding='GBk')
for line in f:
    print(line, end='')

把人类的字符翻译成计算机能认识的数字

5.补充

 

f=open(‘a.txt’,’rb’)

f.read()

1 什么是函数?

2 为什么要用函数?
3 函数的分类:内置函数与自定义函数
4 如何自定义函数
  语法
  定义有参数函数,及有参函数的应用场景
  定义无参数函数,及无参函数的应用场景
  定义空函数,及空函数的应用场景

5 调用函数
    如何调用函数
    函数的返回值
    函数参数的应用:形参和实参,位置参数,关键字参数,默认参数,*args,**kwargs




6 高阶函数(函数对象)

   ps:字符编码在内存中的格式都是unicode,硬盘中是bytes

r+ w+ b+

     write_f.write(line)

f 是应用程序存到内存中
f->打开文件对应着

f.write(‘你好啊’).encode(‘utf-8’)

def foo():
print(‘from foo’)
#1 被赋值
# f=foo
# print(f)
# f()

print(f.read(3).decode(‘utf-8’))
#读取三个字节

文本追加需要使用光标 在光标的位置进行插入

encode编码

r模式在文件没有的时候
不会自动创建文件

    ascii

f=open(‘a.txt’,’wb’)

文件处理

import sys

f=open(‘test.jpg’,’rb’)

with open(r’%s’ sys.argv[1],’rb’)  as read_f,\

-------------------

unicode—->encode(‘utf-8’)
—->bytes

简单copy程序

  print(‘copy.py source.file’)

#4 可以当做容器类型的元素

# cmd_dic={
# ‘func’:foo
# }
#
# print(cmd_dic)
#
# cmd_dic[‘func’]()

 f.write(‘111\n’) #FALSE

    open(r’%s’ sys.argv[2],’wb’) as write_f:

b模式即直接从硬盘中读取bytes

admin

网站地图xml地图