python基础学习D4,,Python ope


Python open() 方法用于打开一个文件,并返回文件对象,这个对象是可迭代的;可以循环读取,避免内存溢出
技术图片

所有从文件里读出来的内容都是字符串;

1、read(),每次读取整个文件,返回为一个字符串,可以read(size),size是字节

技术图片

2、readlines()也是读取整个文件,返回一个列表,每行为列表的一个元素, 每行的换行符也读出来‘\n’

技术图片

技术图片

3、readline(),每次读取一行,返回的也是一个字符串,

技术图片

技术图片

4、write(),和read(),readline()对应,是将字符串写入到文件中

技术图片

5、writelines(),和readlines(),方法对应,接收一个字符串列表作为参数,写入到文件中,换行符不会自动加入,需要显式的加入换行符

技术图片

with open() as f , 写法,不用关闭文件;

列表生成式;

l1 = [ i for i in range(10)]
l2 = [str(i) for i in range(65,91)]
l3 = [i*i for i in range(97,123)]
函数;函数参数:必填参数、位置参数、默认值参数def fun(a = 10):,可变参数 *args-j接收的是个元组 关键字参数 **kwargs--接收的参数可以是键-值对局部变量、全局变量 globalreturn,函数的返回值,返回的是个元组, 也可以多个变量接收:a, b. c = func() ,原理是#解包;
匿名函数:lambda表达式,lambda x : x + 1 // lambda x,y,z:x+y+z, 可以配合sort/sorted排序使用
l = [(1, 20), (3, 0), (9, 10), (2, -1)]
l.sort(key=lambda x: x[1]) # 按列表中元组的第二个元素排序map(function, iterable) 函数,第一个参数是函数对象,第二个参数是一个可以遍历的集合,它表示对 iterable 的每一个元素,都运用 function 这个函数filter(function, iterable) 函数,它和 map 函数类似,function 同样表示一个函数对象。filter() 函数表示对 iterable 中的每个元素,都使用 function 判断,并返回 True 或者 False,最后将返回 True 的元素组成一个新的可遍历的集合
l = [1, 2, 3, 4, 5]
new_list = filter(lambda x: x % 2 == 0, l) # [2, 4]map(function, iterable) 函数map(function, iterable) 递归:函数自己调用自己,效率没有循环高模块;import、 from..import ,同一目录下,可以直接import,当前目录下找不到,会到python的环境变量目录下找(sys.path),以上目录下都找不到报模块不存在 ,添加环境变量:print(sys.path)sys.path.append(r‘C:\BESTTEST\localcode\work1\others‘)神奇的 if __name__ == ‘__main__神奇的 if __name__ == ‘__main__‘;import 在导入文件的时候,会自动把所有暴露在外面的代码全都执行一遍。if __name__ == ‘‘__main__, 作用是只在当前函数执行语句下包含的内容,代码如果被其它模块引用,import不会执行包含的内容神奇的 __init__.py; 1、标识该目录是一个python的模块包2、如果python目录中包含了__init__.py时,当用 import 导入该目录时,会执行__init__.py里面的代码
__init__.py中变量:__all__关联了一个模块列表,当执行from xx import *时,就会导入列表中的模块,__all__ = [‘t1‘, ‘t2‘]
技术图片安装第三方库:1、pip install2、手动;pipinstall/Users/nhy/Downloads/PyMySQL-0.9.3-py2.py3-none-any.whl3、手动;1-解压 2-进入解压的目录 3-python setup.py installJSON模块;json.dumps,将 Python 对象编码成 JSON 字符串, python值只能是以下数据类型之一:字典、列表、元组、数字、字符串、布尔型,而集合类型无法转换
json.dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False, **kw)
import json
data1 = [ { ‘key1‘ : ‘球鞋‘, ‘key2‘ : ‘vanss‘, ‘key3‘ : 665 } ]
data2 = { ‘key1‘ : ‘球鞋‘, ‘key2‘ : ‘vanss‘, ‘key3‘ : 665 }
data3 = ‘abcdef‘
data4 = False
data5 = 123456.3333
json1 = json.dumps(data1,indent=2,ensure_ascii=False)
json2 = json.dumps(data2,indent=2,ensure_ascii=False)
json3 = json.dumps(data3)
json4 = json.dumps(data4)
json5 = json.dumps(data5)
技术图片

技术图片

json.loads 用于解码 JSON 数据。该函数返回 Python 字段的数据类型; json对象格式需要转化为str

import json
json1 = ‘{"key1": "球鞋", "key2": "vanss", "key3": 665}‘
data = json.loads(json1)
print(data)
{‘key1‘: ‘球鞋‘, ‘key2‘: ‘vanss‘, ‘key3‘: 665}

json.dump()

将一个python值转换成json格式并存入指定文件,用法如下:

import json
json1 = {"key1": "球鞋", "key2": "vanss", "key3": 665}
with open(‘tjs.txt‘,‘w‘) as f:
json.dump(json1,f,ensure_ascii=False,indent=2)
技术图片

json.load()

将一个指定json格式文件转换成python值。比如把前一个例子中data.json文件数据还原成dict格式数据:

import json
with open(‘tjs.txt‘,‘r‘) as f:
data = json.load(f)
print(type(data))
print(data)

技术图片

python基础学习D4

评论关闭