Python文件管理(文件的基本管理,os模块,json模块详解,转换为excel文件,安装模块,词频统计)

1.文件操作介绍

1.1打开文件

在python,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件。
open(文件名,访问模式) e.g.f = open('test.txt', 'w')
如果文件不存在那么创建,如果存在那么就先清空,然后写入数据

mode:
r: 只能读文件
w: 只能写入(清空文件内容)
a+: 读写(文件追加写入内容)

f = open('doc/hello.txt',mode='a+')

注意文件路径,此时txt文件和所要执行的代码路径,doc目录与代码路径在同一级

1.2. 文件读写操作

f.write('java\n')

1.3文件的关闭

方法一: 调用close()方法关闭文件。文件使用完毕后必须关闭,因为文件对象会占用操作系统的资源,
并且操作系统同一时间能打开的文件数量也是有限的:
方法二: Python引入了with语句来自动帮我们调用close()方法
在这里插入图片描述

with语句:

****with语句

with open('doc/text.txt', 'w+') as f:
    f.write('hello world\n') # 写入文件
    f.seek(0, 0)      # ****: 移动指针到文件最开始
    print("当前指针的位置:", f.tell())
    f.seek(0, 2)      # 移动指针到文件末尾
    print("当前指针的位置:", f.tell())
    print(f.read())         # 读取文件内容

当前指针的位置: 0
当前指针的位置: 13

2 os模块详解

os,语义为操作系统,处理操作系统相关的功能,可跨平台。 比如显示当前目录下所有文件/删除某个文件/获取文件大小……
os模块中的rename()可以完成对文件的重命名操作。
rename(需要修改的文件名, 新的文件名)

os模块中的remove()可以完成对文件的删除操作
remove(待删除的文件名)

import os
import platform

2.1. 获取操作系统类型

print(os.name)

2.2. 获取主机信息

windows系统使用platform模块, 如果是Linux系统使用os模块
“”"
try: 可能出现报错的代码
excpt: 如果出现异常,执行的内容
finally:是否有异常,都会执行的内容
“”"

try:
    uname = os.uname()
except Exception:
    uname = platform.uname()
finally:
    print(uname)

2.3.获取系统的环境变量

envs = os.environ

# os.environ.get('PASSWORD')
print(envs)

2.4. 目录名和文件名拼接

os.path.dirname获取某个文件对应的目录名
file当前文件
join拼接, 将目录名和文件名拼接起来。
BASE_DIR = os.path.dirname(__file__)
setting_file = os.path.join(BASE_DIR, 'dev.conf')
print(setting_file)

C:/Users/Administrator/Desktop/pythonProject1/文件\dev.conf

3 json模块详解

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。

JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、Java、JavaScript、Perl、Python等)。

这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。
import json

在这里插入图片描述

3.1. 将python对象编码成json字符串

users = {'name':'westos', "age":18, 'city':'西安'}
json_str = json.dumps(users)
with open('doc/hello.json', 'w') as f:
    # ensure_ascii=False:中文可以成功存储
    # indent=4: 缩进为4个空格
    json.dump(users, f, ensure_ascii=False, indent=4)
    print("存储成功")
print(json_str, type(json_str))

在这里插入图片描述json 文件
在这里插入图片描述

3.2. 将json字符串解码成python对象

with open('doc/hello.json') as f:
    python_obj = json.load(f)
    print(python_obj, type(python_obj))

4.存储为excel文件

import pandas

hosts = [
    {'host':'1.1.1.1', 'hostname':'test1', 'idc':'ali'},
    {'host':'1.1.1.2', 'hostname':'test2', 'idc':'ali'},
    {'host':'1.1.1.3', 'hostname':'test3', 'idc':'huawei'},
    {'host':'1.1.1.4', 'hostname':'test4', 'idc':'ali'}
]
# 1. 转换数据类型
df = pandas.DataFrame(hosts)
# print(df)

# 2. 存储到excel文件中
df.to_excel('doc/hosts.xlsx')
print('success')

在这里插入图片描述在这里插入图片描述

如何安装pandas?

pip install pandas -i https://pypi.douban.com/simple

如何安装对excel操作的模块?

pip install openpyxl -i https://pypi.douban.com/simple

词频统计

技能需求:
    1. 文件操作
    2. 字符串的分割操作
    3. 字典操作
功能需求:词频统计
    1. 读取song.txt文件   with open(filename) as f: content=f.read()
    2. 分析文件中的每一个单词,统计每个单词出现的次数。{"hello":2, "python":1, "java":1}
    - 分析文件中的每一个单词
    content = "hello python hello java"
    words = content.split()
    - 统计每个单词出现的次数- {"hello":2, "python":1, "java":1}
    # words = ['hello', 'python', 'hello', 'java']
    3. 获取出现次数最多的5个单词

1. 加载文件中所有的单词

with open('doc/song.txt') as f:
    words = f.read().split()
  

2. 统计

from collections import  Counter
counter = Counter(words)
result = counter.most_common(5)
print(result)

# 2. 统计

 result = {}
 for word in words:
     if word in result:
         result[word] = result[word] + 1
         result[word] += 1
     else:
         result[word] = 1

小拓展: 友好打印信息

import pprint
pprint.pprint(result)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值