Python 基础核心语法(第十五节)

文件操作与常用模块

文件操作:

1.程序的运行运行的顺序:保存到(硬盘)—>内存—>CPU(运行)

2.在启动程序中,电脑会被硬盘中的代码放到内存中。

3.CPU从内存里面读取数据、运行。

文件操作的三个步骤:1、打开文件。2、操作文件。3、关闭(保存)文件。

自动化办公:在自动化办公中,可以批量操作电脑文件(doc,txt,excel)

一般文件居多。

如何让python操作文件?

open(文件名/文件路径,操作模式,字符编码))

操作系统:   w:write  写入数据,如果文件有数据全部覆盖过去。

                 a:append  追加数据, 如果文件有数据就追加后面。

                 r:read 读取数据。

字符类型:    b:byte也叫二进制模式,以字符串编码来操作数据。——>目前还用不上,以后爬虫会讲到。

                  t:text文本模式,文本操作默认为文档模式。

格式:变量名=open(文件名/文件路径,操作模式,字符编码)

#操作文件

f=open("1.txt",'w',encoding='utf-8') #w是声明写入模式的代码。

f.write("vivoX90的目标实现了,哈哈12+256GB的") # 使用write方法进行写入。

f.close() #如果操作完了,文件是要关闭的,如果不关闭会内存泄漏。

a=f.read() #读取时需要变量储存。

print(a)

f.close()

追加:

f=open("1.txt",'ab',encoding='utf-8') #默认是t—>文本模式

a=f.write("来之不易".encode())

f.close()

相对路径和绝对路径

绝对路径:从广东广州市天河区车陂大岗路2号联合社区西区1C栋二楼全层。

相对路径:联合社区西区1C栋二楼全层。

------------------------------------------------------------------------------------------------------------------------

计算机路径:

绝对:C\users\EDZ\Desktop

相对:….\Desktop.

———————————————————————————————————————————

常用模块:

#系统模块.——>sys模块.目前了解就好。

import sys

#获取python环境变量。

print(sys.path)

#获取当前文件所在位置。

print(sys.argv)

#获取python的版本信息。

print(sys.version)

#获取当前操作系统的架构。

print(sys.platform)

json模块

它是一种文件的储存格式

优点:是可以被大部分编程语言所识别并且操作,并保持原来类型。

跨平台/语言——>能有很好的兼容性。

序列化与反序列化

程序员写的代码,文件在编辑的时候,使用反序列数据。而文件在传输或者储存的时候使用序列数据。

一种机器码,计算机的底层语言(0和1)

例如:

import json

names={'stu1':'资名扬','stu2':'廖奕','stu3':'王刚'}

#如果我直接用上下文件管理保存,就会丢失原来的格式。

with open('a.txt','w',encoding='utf-8')as f:

f.write(str(names))

#为了类型不改变,我们可以使用json文件进行保存传输。

#用json.dumps(数据)——>数据序列化。

jsonData = json.dumps(names)

#读取:反序列化。

json.loads(序列化数据)

count = json.loads(jsonData)

print(count)

print(type(count))

with open('a.json','w',encoding='utf-8') as f:

        json.dump(name,f) #写入数据

                          with open('a.json','w',encoding='utf-8') as f:

stuDict = json.load(f) #写入数据

print(stuDict)

print(type(stuDict))

这是输出效果 

OS模块

#操作系统模块 OS

import os

#获取当前文件夹所在位置。

print(os.getcwd())

#新建文件夹

os.mkdir("哈哈哈")

#更改名字

os.rename(原名,新名)——>例如:os.rename('a.txt','a1.txt')

运行效果如下:

#os.listdir() 输出当前文件夹里面的所有文件。

print(os.listdir())

#os.system(cmd指令)运行cmd指令。

os.system('shutdown-s-t 30000000')——>此指令请慎用,这个是注销登录的代码。

for i in range(70):——>数值调成7吧。

     os.system("start cmd")

这个代码的具体输出效果,慎用。

hashlib模块

哈希模块(本质上是一个算法,用得比较多是数据加密)。

哈希是一种规则,可以接受一个值。来生成一个哈希数据,作用来加密。

就像算命一样,算命给你说:桃花劫你需要我来解开。

注册登录账号的原理流程:

注册:1.输入密码

          2.哈希加密→得到了加密后的数值→保存等。

登录:1.输入密码→ 匹配.        

          2.哈希加密 → 得到

md5=md5是目前比较主流方式,但并不安全

例:import hashlib:

a= 'abcd'

b= hashlib. md5(a.encoding())

print(a)

print (type(b))

print(b)

 

返回摘要,即:返回一个16进制数据,数值固定32位        

c=b.hexdigest()

print(c)

print(len(c))

# 返回一个16进制数据,数值固定16位。

e= b.digest()

print(e)

print(len(e))

输出效果如图所示。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

中国第一深情

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值