python3 文件读写内置模块

  • 解决在cmd交互模式下输入python进入的确是app store的问题
    是由于windows系统的控制面板找到环境配置中路径path里”%USERPROFILE%\AppData\Local\Microsoft\WindowsApps“这样一条。应直接删掉。如果path里根本没有python的路径,则需要手动找到并添加

python的文件file操作

先open 再write或read,最后close
seek() 设置文件指针的位置。seek(0) 指开头 seek(0,2)指末尾
writelines() 写入容器类型数据 字典只写入键
read() 读 fp.readline() 读一行 ;fp.readline(size) 一次读取一行中指定长度
readlines() 读取所有行 fp.readlines(6) 按照行进行读取,可以设置读取的字节数,设置的字节数不足一行按一行算
truncate() 截断文件内容 fp.truncate(5) 截断5个字节 size如果为0,则从当前位置截断到最后

with open(文件路径,打开模式) as 变量:
    变量.操作()
with open('./1.txt','r+',encoding='utf-8') as fp:
    res = fp.read()
    print(res)

打开模式:

  w w模式  write 写入模式
      1。 文件如果不存在,则创建这个文件
      2。 文件如果存在,则打开这个文件,并且清空文件内容
      3。 文件打开后,文件的指针在文件的最前面

  r r模式: read  读取模式
      1。 如果文件不存在,则报错
      2。 文件如果存在,则打开文件
      3。 文件指针在文件的最前面

  x x模式: xor 异或模式
      1。文件不存在,则创建这个文件
      2。文件已存在,则报错(防止覆盖)
      3。文件的指针在文件的最前面

  a a模式: append 追加模式
      1。文件不存在,则创建文件
      2。文件如果存在,则打开文件 (和w模式的区别在于。a模式打开文件后不会清空)
      3。文件指针在当前文件的最后

#二,扩展模式:
            b b模式  bytes   二进制
            + +模式  plus    增强模式(可读可写)
#三,文件操作模式的组合:
            w,r,a,x
            wb,rb,ab,xb,
            w+,r+,a+,x+
            wb+,rb+,ab+,xb+

内置模块

序列化与反序列化

  • 二进制序列化模块 pickle (python专用)

pickle.dumps(var)序列化 返回一个序列化后的二进制数据
pickle.dumps(var)反序列化
pickle.dump(var,fp)把一个数据对象进行序列化并写入到文件中
pickle.load(fp)在一个文件中读取序列化的数据,并且完成一个反序列化

  • 文本序列化模块 json (互联网通用)
    json 和字典的定义规则和语法很像 ,是一种通用的数据交换,数据传输,数据定义的一种数据格式

json.dumps() 完成json格式数据的序列化
json.loads() 完成json格式数据的反序列化
json.dump() 和pickle模块的dump方法一样
json.load() 和pickle模块的load方法一样

// data.json
// 以下三种格式都属于json格式化数据
{'name':'admin','age':20,'sex':'男'}  # 1
[1,2,3]                               # 2
                                                                            # 3
[
  {'name':'admin','age':20,'sex':'男'},
  {'name':'aa','age':21,'sex':'m'}
]

以下两个不能转成json
vardict = 'abcdef'  # 只是转为了字符串而已,
vardict = 521       # 只是转为了数字而且

数学模块math

随机模块random

random.random() 返回 0 - 1 之间的随机小数 (左闭右开)
random.randrange([开始值],结束值,[步进值]) 随机获取指定范围内的整数
random.randint() 随机产生指定范围内的随机整数
random.uniform() 获取指定返回内的随机小数
random.choice() 随机获取容器类型中的值 eg. res = random.choice('123') random.shuffle() 随机打乱当前列表中的值,没有返回值,直接打乱原数据

os操作系统模块

os.getcwd() 获取当前的工作目录,注意获取的不是当前脚本的目录
os.chdir('/Users/yc/')修改当前的工作目录
os.listdir() 获取当前或指定目录中的所有项(文件,文件夹,隐藏文件),组成的列表
os.mkdir(文件夹路径,权限) 创建文件夹 eg. os.mkdir('aa',0o777) # 默认在工作目录创建一个人文件夹
os.makedirs() 可以递归创建文件夹 os.makedirs('/users/yc/Desktop/code/abc/a/b/c/')
os.rmdir() 删除 空 文件夹 os.removedirs() 递归删除空文件夹
os.remove() 删除文件 os.rename() 修改文件或文件夹的名字
os.system() 执行操作系统中的命令 eg os.system('ls')

  • os.path 路径模块 可以对路径进行操作 相对绝对路径检转化,拆分,检测文件(夹)是否存在
  • shutil 高级操作模块 复制文件 删除文件,移动文件
  • zipfile 压缩模块 压缩解压缩

时间模块time

概念:
时间戳: 1574905882.6581771 表示从1970年1月1日0时0分0秒到现在的一个秒数,目前可以计算到2038年
时间字符串: Thu Nov 28 09:54:08 2019
时间元组: time.struct_time(tm_year=2019, tm_mon=11, tm_mday=28, tm_hour=9, tm_min=55, tm_sec=32, tm_wday=3, tm_yday=332, tm_isdst=0)

res = time.time() 获取当前系统的时间戳
res = time.ctime()获取当前系统时间,时间字符串 可用时间戳t来获取
res = time.localtime()获取当前系统时间, 时间元组 可用时间戳t来获取

时间元组格式化方法 xxxx年xx月xx日 时:分:秒 星期几

 print(f'{res.tm_year}年{res.tm_mon}月{res.tm_mday}日 {res.tm_hour}:{res.tm_min}:{res.tm_sec} 星期{res.tm_wday+1}')

res = time.strftime('%Y-%m-%d %H:%M:%S %w') 用来 格式化时间 年-月-日 时:分:秒 星期几
sleep(秒) 在给定的秒数内暂停调用线程的执行。

计算程序的运行时间

start = time.perf_counter()
  程序。。。。
end = time.perf_counter()
print(end-start) 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,294评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,493评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,790评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,595评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,718评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,906评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,053评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,797评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,250评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,570评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,711评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,388评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,018评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,796评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,023评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,461评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,595评论 2 350