python 模块
较为基础的内容不做阐述。只写一写比较新或者快要忘记的内容
搜索路径
1、当前目录
2、path下的每一个目录
3、查看默认路径
命名空间和作用域
要在函数内部对全局变量赋值,必须用global语句
dir()函数
dir函数一个排好序的字符串列表,内容是一个模块里定义过的名字。返回列表容纳了在一个模块里定义的所有模块,变量和函数
globals()和locals()
根据调用的地方不同,globals和locals函数可被用来返回全局和局部明明空间里的名字,如果在函数内调用locals,返回的所有能在该函数内访问的命名,在函数内调用globals,返回所有在该函数内能访问的全局名字,两个函数返回类型都是字典,所以名字们可以用key()函数摘取
reload()函数
当一个模块被导入到一个脚本,模块顶层部分的代码只会被执行一次,因此,如果你想重新执行模块里顶层部分的代码,可以用reload函数,该函数会重新导入之前倒入过得模块,语法如下
reload(moudule_name)
在这里,module_name要直接放模块的名字,而不是一个字符串形式,比如想重载hello模块,如下:
reload(hello)
python IO
读取键盘输入
row_input函数input函数
实例
a = input("input:") print("输出:"+a)
输出
input:1 输出:1
python3中,raw_input与input整合,不再有raw_input
打开和关闭文件
open函数
语法:
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
参数意义:
- file: 必需,文件路径(相对或者绝对路径)。
- mode: 可选,文件打开模式
- buffering: 设置缓冲
- encoding: 一般使用utf8
- errors: 报错级别
- newline: 区分换行符
- closefd: 传入的file参数类型
mode各模式符号:
python中字符串可以使二进制数据,而不是仅仅是文字。
- t-文本模式(默认)
- x-写模式,新建一个文件,如果已存在则报错
- b-二进制模式
- +-打开一个文件进行更新(可读可写)
- U-通用换行模式
- r-只读,文件指针在文件的开头,默认模式
- r+-打开一个文件用于读写,文件开头
- rb-以二进制格式打开一个文件,只读,文件开头,默认模式,一般用于非文本文件如图片。
- rb+-二进制打开文件读写,文件开头,用于非文本
- w-写入,文件存在,覆盖内容,不存在,创建文件
- w+-比w多读权限
- wb+-二进制打开文件用于读写,存在,打开覆盖,不存在,创建文件,用于非文本
- a-打开一个文件用于追加,存在,文件指针指向结尾,不存在,创建文件
- a+-比a多读权限
- ab-二进制,追加,存在则结尾,不存在,创建
- ab+-比ab多读权限。
file对象的属性
file.closed-true:文件已被关闭,false:未关闭
file.mode-返回文件访问模式
file.name-返回文件名称
file.softspace-如果用print输出后必须跟一个空字符,则返回false,否则返回true
close()函数,当file对象被重新赋值时,前一个文件会自动关闭。
write()函数不会在字符串的结尾添加换行符
read([count]),被传递的参数是要从一打开的文件中读取的字节计数,该方法从文件的开头开始读入,如果没有传入count,它会尝试尽可能多的读取更多的内容,很可能是直到文件的末尾。
文件定位
- tell()方法告诉你文件内的当前位置。下一次读写就发生在文件开头这么多字节之后
- seek(offset[,from])方法改变当前文件的位置,offset表示要移动的字节数,from制定开始移动字节的参考位置。如果from为0,这意味着文件的开头作为移动字节的参考位置,如果设为1,则使用当前的位置作为参考位置,如果它被设为2,那么该文件的末尾将被作为参考位置。
重命名和删除文件
os模块
- os.rename(current_file_name,new_file_name)
- os.remove(file_name)
python目录
- os.mkdir('newdir')-在当前目录下创建新的目录。
- os.chdir('newdir')-用chdir改变当前的目录
实例import os # 将当前目录改为"/home/newdir" os.chdir("/home/newdir")
- os.getcwd()-显示当前的工作目录
- os,redir('dirname')-删除目录。
python file 方法
- file.flush()-刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件,而不是被动的等待输出缓冲区写入
- file.fileno()-返回一个整型的文件描述符,可以用在如os模块的read方法等一些底层操作上。
- file.isatty()如果文件链接到一个终端设备返回true,否则返回false
- file.next()-返回文件下一行
- file.readline()-读取整行,包括'\n'字符
- file.truncate([size])-截取文件,截取的字节通过size指定,默认为当前文件的位置
- file.write(str)-将字符串写入文件,返回的是写入的字符串的长度
- file.writelines(seq)-项文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符