python中目录与文件的管理
一、 os模块
- os,语义为操作系统,处理操作系统相关的功能,可跨平台。 比如显示当前目录下所有文件/删除某个文件/获取文件大小……
1.判断
参数 | 说明 |
---|---|
os.path.isdir() | 是否为目录 |
os.path.isfile() | 是否为文件 |
os.path.isabs() | 是否是绝对路径 |
os.path.exists() | 是否存在指定目录和文件 |
2.目录
参数 | 说明 |
---|---|
os.getcwd() | 获取当前工作目录 |
os.chdir() | 改变工作目录 |
os.listdir() | 列出目录下的文件 |
os.mkdir() | 创建空目录 |
os.rmdir() | 删除空目录 |
os.makedirs () | 创建多级目录 |
os.removedirs() | 递归删除多级目录 |
os.rmtree() | 删除目录及下所有文件 |
3.文件
参数 | 说明 |
---|---|
os.mknod() | 创建空文件 |
os.remove() | 删除文件 |
os.rename(需要修改的文件名, 新的文件名) | 重命名文件/目录 |
os.path.dirname() | 获取到目录名 |
os.path.basename () | 获取到文件名 |
os.path.split() | 分离目录名和文件名 |
os.path.splitext() | 拆分文件名和类型 |
os.path.getsize() | 获取文件大小 |
实例
print(os.path.splitext('grx.txt'))
print(os.path.split('jwl.txt'))
print(os.path.split('mnt/jwls/jwl.txt'))
二、shutil
参数 | 说明 |
---|---|
shutil.copyfile(‘文件名’, ’新文件’) | 复制文件 |
shutil.copytree(‘目录’,’新目录’) | 复制目录(新目录不存在) |
shutil.copy(‘文件’,’目录’) | 复制文件到目录(已经存在的目录) |
shutil.move(‘文件,’目录’) | 移动文件到目录(已经存在的目录) |
三、json模块
1.介绍
- JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。
- JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、Java、JavaScript、Perl、Python等)。
- 这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。
2.python类型数据和JSON数据格式互相转换规则
- python 中str类型到JSON中转为unicode类型,None转为null,dict对应object;
- pyhton中的集合不能转成json格式。
3.序列化及反序列化常用参数
json.dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True,
allow_nan=True, cls=None, indent=None, separators=None,
encoding="utf-8", default=None, sort_keys=False, **kw)
- ensure_ascii=False: 中文存储需要设定
- indent=4: 增加缩进,增强可读性,但缩进空格会使数据变大
- separators=(’,’,’:’): 自定义分隔符,元素间分隔符为逗号, 字典key和value值的分隔符为冒号
- sort_keys=True: 字典排序
4.利用python将数据写入生成json文件
import json
users = {'name': 'jwl', 'age': 18, 'city': "xi`an"} #要写入的数据
json_str = json.dumps(users)
with open('hello.json','w') as f: #w代表写
json.dump(users,f,indent=4)
print('成功')
print(json_str, type(json_str))
四、python神迹
将数据导入Excel表格
import pandas #引用包
import openpyxl
hosts = [ #导入的数据
{'ip':'172.25.254.1','name':'jwl1'},
{'ip':'172.25.254.2','name':'jwl2'},
{'ip':'172.25.254.3','name':'jwl3'},
{'ip':'172.25.254.4','name':'jwl4'},
{'ip':'172.25.254.5','name':'jwl5'},
{'ip':'172.25.254.6','name':'jwl6'},
{'ip':'172.25.254.7','name':'jwl7'},
{'ip':'172.25.254.8','name':'jwl8'}
]
df = pandas.DataFrame(hosts) #指定导入数据
print(df) #显示导入数据
df.to_excel('hsots.xlsx') #指定导入表格名称
print('成功')
用python修改添加文件内容
hello.txt文件内容
添加了两行数据
f = open('hello.txt','a') #指定目录
f.write('jwl\n') #添加的内容
f.close()
f = open('hello.txt','a')
f.write('521\n')
f.close()
哎,就是这么神奇!
要是学到好,就可以玩弄文件和表格
ps:广告吹的,9.9,我已经会了5块钱的!!!!!!!!!