01
字典
创建字典,使用格式dictname = {}创建字典,使用大括号,而列表使用中括号,元组使用小括号.
调用字典,使用中括号,字典的优势在于使用key来查找value,格式为dictname[keyname].
dict函数,格式为dict(用双重元组表示的映射关系,如((1,a),(2,b))),前者转化为key,后者转化为value
或用dict(key1 = value1,key2 = value2)来创建字典,注意这里的key1,key2不可加单引号
增加item,直接用dictname[newkeyname] = newvalue即可
批量增加相同value的keys,使用dict.fromkeys((key1,key2,key3),value)当没用value时默认增加的value为None
当索引的key不存在是,容易报错KeyError,可用dictname.get(keyname)来避免,若不存在keyname,则自动返回None
dictname.get(keyname,'当keyname不存在时返回的信息')
删除字典,使用dictname.clear(),使其从内存中消除,若用{}则仍存在在内存中
复制字典,使用dict2 = dict1.copy(),则dict2与dict1地址不同,若使用dict2 = dict1则仅相当于给dict2起了一个别名,dict2与dict1地址相同
弹出,dictname.pop(keyname),有选择的弹出,dictname.popitem,随即弹出
更新字典,dict1.update(dict2),将dict2中的item覆盖到dict1
02
集合
集合的创建,同样使用{},但只含有value,格式为setname =,value具有唯一性,且是无序的,不支持index
集合的创建也可以使用set()函数,可以传入list,tuple甚至是string
使用list(set(listname))可以直接去除list里重复的元素
可以用循环来使用set里所有的值
增加set里的值:setname.add(newvalue)
删除set里的值:setname.remove(value)
定义不可变集合:frozenset(list)
03
文件
打开文件file_object = open(filename,'打开方式'),filename默认与py文件位于同一层,打开方式有'r'只读模式,'w'写入模式,'a'追加模式。其中w是默认的,如果打开方式不填则默认只读,w和a模式如果文件夹里没有filename则自动创建一个filename
文件路径,可以使用绝对路径,windows系统下使用\来进一层
读取文件的字符:file_object.read(5),读取前5个字符,默认全部读取
file_object.readline()读取一行字符,list(file_object)直接将文件对象转化为列表(每行为一个值)
文件中的指针:在读取字符后,文件指针往后偏移,使用file_object.tell()可以显示当前指针的位置,使用file_object.seek(offset,from)可以从from位置使指针往后偏移offset个字符,其中from为0则从文件起始位置,1为当前位置,2为文件末尾
写入文件:file_object.write(string),按行写入file_object.writelines(list)
写入是一次性的,可以存到列表里再一口气输入
04
OS模块
导入os模块:import os
显示当前目录:os.getcwd()
改变工作目录:os.chdir(path)
列举指定目录的文件名:os.listdir(path)
创建单层目录:os.mkdir(path) //这里的path是字符,故用转义字符'\\'
创建多层目录:os.makedirs
移除文件:os.remove(path)
删除单层目录:os.rmdir(path) //目录需为空
删除多层目录:os.removedirs(path)
文件重命名:os.rename(old,new)
运行命令窗口:os.system('cmd')
'.'表示当前目录 '..'表示上一级目录
os.path模块的函数:
os.path.dirname():返回路径名
os.path.basename():去掉路径返回文件名
os.path.join(path1,path2,path3):将各个路径组合成一个路径名
os.path.split(path):返回(f_path,f_name)元组
os.path.splitext(path):返回文件名和扩展名,可以用来读取文件夹下的某一类文件
os.path.getsize(filename):返回文件大小,单位是字节
os.getatime(filename):得到文件的最近访问事件( 返回的是浮点型秒数,可用time模块的gmtime()或localtime()函数进行换算,time.localtime(os.path.getatime('E:\\test.txt'))或time.gmtime(os.getatime('E:\\test.txt')))
类似:os.path.getctime()返回文件的创建事件
os.path.getmtime()得到文件的最新修改时间
os.path.exists(path):判断制定路径的文件或目录是否存在
os.path.isabs(path):判断指定路径是否为绝对路径
os.path.isdir(path):判断指定路径是否存在且为一个目录
os.path.osfile(path):判断制定路径是否存在且为一个文件
os.path.islink(path):判断指定路径是否存在且是一个符号链接
os.path.ismount(path):判断指定路径是否存在且是一个挂载点
os.path.samefile(path1,path2):判断两个路径是否存指向同一个文件
05
pickle泡菜模块
pickle的意义:把字典,列表,类的实例等等数据对象存入文件中方便读取,把别的文件中的数据用泡菜保存再导入到需要的文件中是代码更加优雅
pickle_file = open('my_list.pkl','wb') //wb是二进制写入
二进制的写入操作:pickle.dump(my_list,pickle_file)//(要存储的内容,目标文件)
pickle_file = open('my_list.pkl','rb') //rb是二进制读取
二进制读取操作:my_list2 = pickle.load(pickle_file)
领取专属 10元无门槛券
私享最新 技术干货