python中目录和文件管理

0、字典和集合函数
1、编码规范
pep8
https://www.python.org/dev/peps/pep-0008/
变量和函数命名:下划线分割,小驼峰
空格问题:
切片冒号两边不加空格
字典冒号:冒号前面不加,后面加
键值对逗号后面加空格
lambda:多个参数后面加空格,冒号前面不加空格,后面加空格
lambda: x, y: x + y
定义变量的时候,=号两边加空格
函数形参,多个参数逗号隔开,逗号后面加空格
如果形参有默认值,=号两边不加空格
def test(name, age, height=180)
实参:关键字参数传递,等号两边不加空格
test(name=’goudan’, age=20, height=170)

涉及到优先级问题
    常见的正确写法
    i += 1
    x = a * b
    x = x*2 + 1
    x = (a+b) * (a-b)
eval函数
    和str()函数正好相反,可以将字符串的列表、字典的定义格式直接转化为Python的列表、字典

2、目录管理
import os 模块
os.name : 当前操作系统
os.environ : 显示所有而环境变量
os.environ.get() :获取指定的环境变量

下面的用法和字符串、列表函数一样程度
os.getcwd() : 得到当前文件所在的路径
os.listdir() : 列出当前目录下所有的文件,返回一个列表,列表中都是文件名字符串
    directory : 文件夹、目录
    以c、d、e等开头的路径称之为绝对路径
    相对路径:./  代表的当前目录   ../ 代表的上一级目录
    / : 正斜杠
    \ : 反斜杠
    windows:目录分隔符可以使用正斜杠,也可以使用反斜杠
    linux:目录分隔符只能使用正斜杠
os.mkdir() : 创建文件夹
    路径给绝对、相对都可以
    如果文件夹存在,再次创建,报错
    所以一般情况,创建的时候要做判断,判断文件夹存在不存在,不存在在创建
os.makedirs() : 可以递归创建中间目录
os.rmdir() :只能删除空目录
    如果目录非空:递归删除
os.stat() :查看文件或者文件夹的状态
os.rename() :修改文件或者文件夹名字
os.remove() :删除文件,
os.system() :执行系统指令

os.path.join() : 将目录路径和文件名字拼接为文件路径
os.path.splitext() : 获取文件后缀名
os.path.isdir() : 是否是文件夹
os.path.isfile() :是否是文件
os.path.exists() : 文件夹或者文件是否存在
os.path.getsize() : 获取文件大小,字节为单位
os.path.dirname() :获取文件路径
os.path.basename() :直接获取文件名
os.path.split() : 以最后一个斜线进行切割

3、文件操作
字符串类和字节类型
字符串类型转化为字节类型
encode() : 如果不写,默认是utf8编码
编码类型:utf8 gbk
字节类型转化为字符串类型
decode() : 如果不写,默认utf8
常见的字符集
ascii: 一个字节
ansi:扩展的ascii,两个字节
中文:gb2312
日本:有自己的标准
gbk: 扩展的国标,两个字节,加了一些东西
unicode:万国码,两个字节
并没有实行起来,因为没有规定怎么存怎么读
utf8:
以后你只需要用这个即可
存英文用一个字节
存中文用3个字节
文件打开方式(读、写)
fp = open(文件路径, 打开方式, encoding=’utf8’)
encoding : 如果不加这个参数,默认是gbk格式
string = fp.read()
fp.write(字符串)
fp.close() # 关闭文件
【注】不同的打开方式对文件的操作不一样

w : 以只写方式打开文件
    【注】如果文件不存在,先创建再打开
    【注】如果文件存在,则会先清空整个文件,然后再去写入
r :以只读方式打开文件
    【注】如果文件不存在,直接报错
    fp.read()    读取所有
    fp.read(10)  读取10个
    fp.readlines()  按行读取,返回一个列表
a :以追加方式打开文件
    【注】文件不存在,创建文件打开
    【注】不能读取,只能写入,会不断地向文件的末尾追加内容

猜你喜欢

转载自blog.csdn.net/zangshuge/article/details/81666266
今日推荐