文件操作-序列化json-pickle-yaml

【MK】Python全栈 阶段一:习题汇总 八:文件操作 版权声明:本文为博主原创文章,未经博主允许不得转载。 文章目录一、单选题二、多选题三、练习题四、编程题 一、单选题 二、多选题 1.X A . B . C . D . 三、练习题 四、编程题 版权声明:本文为博主原创文章,未经博主允许不得转载。 ... 阅读详情

Terminal 终端

>>> path = os.path.join(current_path,'aa.txt')
>>> f = open(path,'w')
>>> f.write('你好呀~')
4
>>> f.close()
>>> f = open(path,'w+')
>>> f.write('再见,测试~')
6
>>> f.close()
>>> f = open(path,'w')
>>> f.write('hhhhhhh')
7
>>> f.read()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
io.UnsupportedOperation: not readable
>>> f.close()

- 有+号代表可以读取;没有,就是只能写入,不能读取
>>> f = open(path,'w+')
>>> f.write('wwwww++++')
9
>>> f.read()   # 开始的时候在最后一位,所以读取为空字符串,调整索引位置
''
>>> f.seek(0)    # + 可以读取文件,调整读取索引位置seek(0)
0
>>> f.read()
'wwwww++++'
>>> f.close()
>>> f = open(path,'ab')
>>> f.write('欢迎来到beijing')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: a bytes-like object is required, not 'str'
>>> f.write(b'欢迎来到beijing')
  File "<stdin>", line 1
SyntaxError: bytes can only contain ASCII literal characters.
>>> message = b'欢迎来到beijing'
  File "<stdin>", line 1
SyntaxError: bytes can only contain ASCII literal characters.
>>> message = '欢迎来到beijing'
>>> mess_b = message.encode('utf-8')
>>> f.write(mess_b)
19
>>> mess_b
b'\xe6\xac\xa2\xe8\xbf\x8e\xe6\x9d\xa5\xe5\x88\xb0beijing'
>>> f.close()

>>> f = open(path,'a+')
>>> f.write('test1\n')
6
>>> f.write('test2\n')
6
>>> f.write('test3\n')
6
>>> f.close()
>>> f = open(path,'a')
>>> l = ['今天天气很晴朗','你好吗?','我喜欢你']
  File "<stdin>", line 1
    l = ['今天天气很晴朗','你好吗?','我喜欢你']
                  ^
SyntaxError: invalid character in identifier
>>> l = ['今天天气很晴朗','你好吗?','我喜欢你']
>>> f.writelines(l)
>>> f.close()
>>> f = open(path,'a')
>>> l = ['今天天气很晴朗\n','你好吗?\n','我喜欢你']
>>> f.writelines(l)
>>> f.close()

用pycharm重写

import os.path

def creat_package(path):
    if os.path.exists(path):
        raise Exception('{} 已存在,不能创建'.format(path))
    else:
        os.makedirs(path)
    init_path = os.path.join(path,'__init__.py')
    f = open(init_path,'w')
    f.write('# coding:utf-8 \n')
    f.close()


# 添加自动换行功能
class Open(object):
    def __init__(self,path,mode='w',is_return= True):
        self.path = path
        self.mode = mode
        self.is_return = is_return

    def write(self,message):
        f = open(self.path, mode=self.mode)
        if self.is_return:
            if message.endswith('\n'):
                message = message
            else:
                message = '%s\n' % message
        try:
            f.write(message)
        except Exception as e:
            print(e)
        finally:
            f.close()

if __name__ == '__main__':
    current_path = os.getcwd()
    # path = os.path.join(current_path,'test1')
    # creat_package(path)
    open_path = os.path.join(current_path,'aaa.txt')
    o = Open(open_path)
    # o.write('你好,上海')
    o.write('我喜欢你lioiol\n')

Terminal终端体验,f.read(),f.readlines(),f.readline(),f.closed,f.mode,f.name

去掉'\n',删除空行,返回_data列表

In [30]: for i in data:
    ...:     temp = i.strip()
    ...:     if temp != '':
    ...:         _data.append(temp)

==================================================

In [12]: f = open('one_rev.py','r')

In [13]: data = f.read()

In [14]: f.close()

In [15]: data
Out[15]: "# 第一种方法,使用内置函数reversed(seq),反转一个序列对象\na =nprint(list(a))\na1 = reversed(a)\nprint(a1)\nprint(list(a1))\n# reverse 列表\ntest_list = ['A',3,7,'B','C']\nrl = list(reversed(test_list))\nint(rl)\n# reverse 字符串\ntest_string = 'hi~, nice to meet you'\nrs = ersed(test_string)\nprint(rs)\nprint(list(rs))\nprint(rs)\nprint(list(rs))\nrs2 = ''.join(rs)\nprint(rs2)\n\ndef test():\n    print('test-import')\n"

In [16]: print(data)
# 第一种方法,使用内置函数reversed(seq),反转一个序列对象
a = range(5)
print(a)
print(list(a))
a1 = reversed(a)
print(a1)
print(list(a1))
# reverse 列表
test_list = ['A',3,7,'B','C']
rl = list(reversed(test_list))
print(rl)
# reverse 字符串
test_string = 'hi~, nice to meet you'
rs = reversed(test_string)
print(rs)
print(list(rs))
print(rs)
print(list(rs))
rs2 = ''.join(rs)
print(rs2)

def test():
    print('test-import')


In [17]: type(data)
Out[17]: str

In [18]: len(data)
Out[18]: 399

In [19]: f = open('one_rev.py','r')

In [20]: data = f.readlines()

In [21]: f.close()

In [22]: data
Out[22]: 
['# 第一种方法,使用内置函数reversed(seq),反转一个序列对象\n',
 'a = range(5)\n',
 'print(a)\n',
 'print(list(a))\n',
 'a1 = reversed(a)\n',
 'print(a1)\n',
 'print(list(a1))\n',
 '# reverse 列表\n',
 "test_list = ['A',3,7,'B','C']\n",
 'rl = list(reversed(test_list))\n',
 'print(rl)\n',
 '# reverse 字符串\n',
 "test_string = 'hi~, nice to meet you'\n",
 'rs = reversed(test_string)\n',
 'print(rs)\n',
 'print(list(rs))\n',
 'print(rs)\n',
 'print(list(rs))\n',
 "rs2 = ''.join(rs)\n",
 'print(rs2)\n',
 '\n',
 'def test():\n',
 "    print('test-import')\n"]

In [23]: type(data)
Out[23]: list

In [24]: for i in data:
    ...:     print(i)
    ...: 
# 第一种方法,使用内置函数reversed(seq),反转一个序列对象

a = range(5)

print(a)

print(list(a))

a1 = reversed(a)

print(a1)

print(list(a1))

# reverse 列表

test_list = ['A',3,7,'B','C']

rl = list(reversed(test_list))

print(rl)

# reverse 字符串

test_string = 'hi~, nice to meet you'

rs = reversed(test_string)

print(rs)

print(list(rs))

print(rs)

print(list(rs))

rs2 = ''.join(rs)

print(rs2)

def test():

    print('test-import')


In [25]: _data = []

In [26]: for i in data:
    ...:     temp = 1.strip()
  Input In [26]
    temp = 1.strip()
             ^
SyntaxError: invalid syntax


In [27]: for i in data:
    ...:     temp = i.strip()
    ...:     _data.append(temp)
    ...: 

In [28]: 

In [28]: _data
Out[28]: 
['# 第一种方法,使用内置函数reversed(seq),反转一个序列对象',
 'a = range(5)',
 'print(a)',
 'print(list(a))',
 'a1 = reversed(a)',
 'print(a1)',
 'print(list(a1))',
 '# reverse 列表',
 "test_list = ['A',3,7,'B','C']",
 'rl = list(reversed(test_list))',
 'print(rl)',
 '# reverse 字符串',
 "test_string = 'hi~, nice to meet you'",
 'rs = reversed(test_string)',
 'print(rs)',
 'print(list(rs))',
 'print(rs)',
 'print(list(rs))',
 "rs2 = ''.join(rs)",
 'print(rs2)',
 '',
 'def test():',
 "print('test-import')"]

In [29]: _data = []

In [30]: for i in data:
    ...:     temp = i.strip()
    ...:     if temp != '':
    ...:         _data.append(temp)
    ...: 

In [31]: _data
Out[31]: 
['# 第一种方法,使用内置函数reversed(seq),反转一个序列对象',
 'a = range(5)',
 'print(a)',
 'print(list(a))',
 'a1 = reversed(a)',
 'print(a1)',
 'print(list(a1))',
 '# reverse 列表',
 "test_list = ['A',3,7,'B','C']",
 'rl = list(reversed(test_list))',
 'print(rl)',
 '# reverse 字符串',
 "test_string = 'hi~, nice to meet you'",
 'rs = reversed(test_string)',
 'print(rs)',
 'print(list(rs))',
 'print(rs)',
 'print(list(rs))',
 "rs2 = ''.join(rs)",
 'print(rs2)',
 'def test():',
 "print('test-import')"]

In [32]: f = open('one_rev.py','r')

In [33]: data = f.readline()

In [34]: data
Out[34]: '# 第一种方法,使用内置函数reversed(seq),反转一个序列对象\n'

In [35]: data = f.readline()

In [36]: data
Out[36]: 'a = range(5)\n'

In [37]: f.closed
Out[37]: False

In [38]: f.name
Out[38]: 'one_rev.py'

In [39]: f.mode
Out[39]: 'r'

In [40]: f.close()

In [41]: f.closed
Out[41]: True
 

In [42]: import json

In [43]: one = 123

In [44]: two = 'str'

In [45]: three = [1,2,3]

In [46]: four = (9,8,7)

In [47]: five = {'name':'mark'}

In [48]: one_json = json.dumps(one)

In [49]: one_json
Out[49]: '123'

In [50]: type(one_json)
Out[50]: str

In [51]: two_json = json.dumps(two)

In [52]: two_json
Out[52]: '"str"'

In [53]: three_json = json.dumps(three)

In [54]: three_json
Out[54]: '[1, 2, 3]'

In [55]: four_json = json.dumps(four)

In [56]: four_json
Out[56]: '[9, 8, 7]'

In [57]: five_json = json.dumps(five)

In [58]: five_json
Out[58]: '{"name": "mark"}'

In [59]: print(json.loads(one_json),one)
123 123

In [60]: print(json.loads(two_json),two)
str str

In [61]: print(json.loads(three_json),three)
[1, 2, 3] [1, 2, 3]

In [62]: print(json.loads(four_json),four)
[9, 8, 7] (9, 8, 7)

In [63]: print(json.loads(five_json),five)
{'name': 'mark'} {'name': 'mark'}

In [64]: print(json.dumps(True),json.dumps(False))
true false

In [65]: print(json.loads(json.dumps(True)),json.loads(json.dumps(False
    ...: )))
True False

In [66]: print(json.dumps(None))
null

In [67]: print(json.loads(json.dumps(None)))
None

In [68]: import pickle

In [69]: pickle.dumps(five)
Out[69]: b'\x80\x04\x95\x12\x00\x00\x00\x00\x00\x00\x00}\x94\x8c\x04name\x94\x8c\x04mark\x94s.'

In [70]: pickle.loads(pickle.dumps(five))
Out[70]: {'name': 'mark'}

- Python strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。

- 注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。

- 序列化:对象信息/数据结构信息,转化为字符串

- 可以序列化的数据类型:数字,字符,列表,元组,字典

- 序列化json模块:json.dumps(obj)对象序列化为字符串;json.loads(字符串) 字符串反序列化为原始数据类型

import json

def read(path):
    with open(path,'r') as f:
        data = f.read()
        _data = json.loads(data)
    return _data

def write(path,data):
    with open(path,'w') as f:
        if isinstance(data,dict):
            _data = json.dumps(data)
            f.write(_data)
        else:
            raise TypeError('data need dict')
    return True

data = {'name':'小云','age':18,'top':178}

if __name__ == '__main__':
    # write('test.json',data)
    result = read('test.json')
    print(result,type(result))
    result['sex'] = '男'
    write('test.json',result)

- yaml文件使用:文本文件,服务配置文件:key-value,列表,字典

- yaml 5.1之后的版本,新的写法:yaml.load(file,Loader=yaml.FullLoader)

import yaml

def read(path):
    with open(path,'r') as f:
        data = f.read()
    result = yaml.load(data,Loader=yaml.FullLoader)
    return result

if __name__ == '__main__':
    result = read('test_y.yaml')
    print(result)
    print(type(result))
    print(dir(yaml))

[ADS]单端电感和差分电感的感值和Q值计算公式 单端电感和差分电感的感值和Q值计算公式 阅读详情

相关推荐

基于FFmpeg与Nginx的大华摄像头实时视频Web接入方案

本文详细介绍了一种基于FFmpeg与Nginx的大华摄像头实时视频Web接入方案。该方案通过FFmpeg将摄像头RTSP协议流转换为浏览器友好的HLS格式,并利用Nginx进行高效分发,最终结合Video.js构建前端播放页面,实现无需插件的跨平台实时监控。方案具有免费、轻量、稳定、易于部署的特点,适合中小企业、个人开发者快速搭建内部监控或展示系统。

weixin_28040125的博客 343

Python-文件操作

1. 文件基本使用 2. with语句 3. json 4. pickle 5. yaml

Wednesdayi的博客 289

利用OrthoFinder做泛基因家族聚类分析

这条命令会将 Arabidopsis_thaliana.TAIR10.59_longest_trans.pep.fa 文件中的所有序列ID,去掉ID中的空格后面的部分,只保留 > 后第一个空格之前的基因ID,并将结果保存在 An1.fasta 文件中。muscle 是一种常用的多序列比对工具,用于基因组或蛋白质序列的比对。基因家族(Gene family),是来源于同一个祖先,由一个基因通过基因重复而产生两个或更多的拷贝而构成的一组基因,它们在结构和功能上具有明显的相似性,编码相似的蛋白质产物。

qq_64400864的博客 2746

PYTHON 的 YAML 和PKL

PYTHON 的 YAML 和PKL 要用到,于是在网上抄了几段: YAML的可读性好。 YAML和脚本语言的交互性好。 YAML使用实现语言的数据类型。 YAML有一个一致的信息模型。 YAML易于实现。 上面5条也就是XML不足的地方。同时,YAML也有XML的下列优点: YAML可以基于流来处理; YAML表达能力强,扩展性好。 总之,YAML试图用一种比XML更

oHongHong的博客 1070

iOS安全攻防:从DarkSword漏洞利用链剖析到纵深防御实践

在移动安全领域,内存破坏漏洞(如堆溢出、释放后使用)是攻击者突破系统防线、实现远程代码执行和权限提升的核心技术原理。这些漏洞利用技术通过精心构造的攻击链,能够绕过沙箱、地址空间布局随机化等安全机制,最终威胁设备内核安全,其技术价值在于揭示了系统安全架构的潜在薄弱环节。在iOS应用开发与系统防护中,理解此类攻击链对于构建有效的纵深防御体系至关重要。应用场景涵盖从安全编码、网络通信加固到运行时应用程序自保护等多个层面。本文以DarkSword工具包为例,深入拆解其利用链,并分享如何通过内存安全实践、代码签名强化

weixin_30357231的博客 478

SAP生产订单技术性完成(TECO)操作指南与实战应用

生产订单技术关闭操作指南主要包括单笔和批量关闭两种方式,通过CO02/COHV事务码完成。

m0_47402127的博客 1932

初学者python笔记(json模块、pickle模块、xml模块、shelve模块)

json模块、pickle模块、xml模块、shelve模块这四个模块都是数据交换的桥梁。 所谓数据交换,简单来说就是每门编程语言都有自己对应的数据类型,如果要在不同的语言或程序之间进行数据交换,需要用这四个模块转换一下,这样就能保证原有的数据类型不会变。其中json模块是最好用的。 json模块 每门语言都遵守json字符串的规则,就可以相互之间交换数据,并且保证数据类型不会变 正常数据转化(复...

Viewinfinitely的博客 1104

6、深入解析Microsoft 365核心服务对比与迁移策略

本文深入解析了Microsoft 365的核心服务,包括身份和设备管理、现代设备配置体验、Exchange和SharePoint的迁移策略以及Microsoft Teams的协作功能。同时探讨了迁移过程中需要考虑的安全控制措施,为组织规划和实施云迁移项目提供了全面的指导和建议。

k8s6orchestrator的博客 104

什么是pkl文件?

它是Python标准库中的一个模块,用于将Python对象序列化(即将对象转换为字节流),以便于在不同的Python程序之间进行传输或存储。需要注意的是,由于pickle是一种Python特定的格式,因此在不同版本的Python之间可能会存在兼容性问题。如果你计划在不同的Python版本之间共享pickle文件,最好确保它们都是相同或者兼容的版本。这在很多情况下非常有用,比如当你需要将一个复杂的数据结构保存到文件或者通过网络传输时,可以使用pickle来将其转换为一个可以存储或传输的形式。

weixin_44943389的博客 5779

康耐视visionpro-CogBlobTool工具详细说明

康耐视visionpro-CogBlobTool工具详细说明

视觉人机器视觉的博客 1724

【踩坑记录】colmap中的相机位姿的坐标系定义及其可视化结果的隐含转换

1 坐标系定义及转换   首先介绍一下世界坐标系和相机坐标系之间的转换,它们之间是存在一个转换关系的。现假设空间中一点X,它在相机坐标系下的坐标是Xcamera,在世界坐标系下的坐标是Xworld。假设它通过R和t实现从相机坐标系到世界坐标系之间的转换: Xworld = RXcamera + t   那么,由上式,我们可以推得从世界坐标系向相机坐标系的转换关系(RT=R-1,所以通常直接使用RT即可): Xcamera = RTXworld - RTt   所以,两个坐标系之间的转换,需要看其具体

zeeq的博客 2万+

python读取文件的方法是_【8】python文件的读写方法

(1)、读文件的步骤:(1)打开文件open(path,flag,encoding,[errors])path:打开路径flag:打开方式 r(只读) rb(二进制格式) r+(可以读写)w(只写,存在覆盖,不存在创建) wb(写入二进制) w+(用于读写)a(文件存在,追加) a+()encoding:编码方式errors:错误处理(2)读取文件(3)关闭文件(2)读取文件的几种方法#第二步:读...

weixin_39559079的博客 351

【论文精读】《Towards Deep Learning Models Resistant to Adversarial Attacks》

本文探讨了深度学习模型在面对对抗性攻击时的脆弱性,并提出了一种基于鲁棒优化的方法来增强神经网络的对抗鲁棒性。通过鞍点优化框架,作者提供了对抗攻击和防御机制的统一视角,并在MNIST和CIFAR-10数据集上验证了其方法的有效性。对抗训练的核心思想是将对抗样本引入训练过程,使模型能够学习到对抗样本的特征,从而提升其鲁棒性。本文通过鞍点优化框架提出了一种基于鲁棒优化的对抗训练方法,显著提升了深度学习模型的对抗鲁棒性。本文为深度学习模型的对抗鲁棒性研究提供了新的理论和实证支持,同时为未来研究指明了方向。

nmdbbzcl的博客 610

7.5-Python-语言及其应用-笔记-数据的归属-未完!

文件的输入/输出,mode 的类型有 读模式(r),写模式(w),追加模式(a),没有就创建模式(x),t 表示文本文件,b表示的是二进制文件,xt 模式表示 如果不存在就创建一个新的,但是如果存在就报错 fout = open(filename,mode), fout.write('I Love you') fout.close()2.文件命令中,write() 和print() 相同点都是可以返

shichangcheng1314的博客 377

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

python基础 day5 模块介绍 time &datetime模块 random os sys shutil json & picle shelve xml处理 yaml处理 configpar...

本节大纲: 模块介绍 time &datetime模块 random os sys shutil json & picle shelve xml处理 yaml处理 configparser hashlib subprocess logging模块 re正则表达式 模块,用一砣代码实现了某个功能的代码集合。 类似于函数式编程和面...

weixin_30478923的博客 365

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Python常用标准库模块详解与应用实践

Python标准库是开发者的核心工具箱,提供了从基础数据处理到系统操作的丰富功能。时间处理模块(time/datetime)通过时间戳与结构化时间的转换实现精准计时,随机数模块(random)为模拟测试提供数据支持。系统交互模块(os/sys)架起Python与操作系统的桥梁,而数据序列化模块(json/pickle)则解决了数据持久化与交换的关键问题。这些模块在Web开发、自动化脚本、数据分析等场景中广泛应用,掌握它们能显著提升开发效率与代码质量。本文重点解析15个最常用的Python标准库模块,包括时间

weixin_34318272的博客 316

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Python自动化 【第五篇】:Python基础-常用模块

目录 模块介绍 time和datetime模块 random os sys shutil json和pickle shelve xml处理 yaml处理 configparser hashlib re正则表达式 1. 模块介绍 1.1 定义 能够实现某个功能的代码集合(本质是py文件) test.p的模块名是test...

199

python的文件创建与写入

python的文件创建与写入 内置函数open 功能: 生成文件对象,进行创建,读写操作。 用法: open(path,mode) 参数: path:文件路径 mode:操作模式 返回值 : 文件对象。 模式: 文件对象的操作方式: 操作完以后一定记得close文件。 文件的读取 模式: 文件对象的操作方法: 序列化: 1、什么是序列化和反序列化: 2、可序列化的数据类型: number str list tuple dict 3、python中的json模块: 4、python中的pick

羽的博客 3433

python自动华 (五)

Python自动化 【第五篇】:Python基础-常用模块 目录 模块介绍 time和datetime模块 random os sys shutil json和pickle shelve xml处理 yaml处理 configparser hashlib re正则表达式 1. 模块介绍 1.1 定义 能够实现某个...

weixin_30879833的博客 159

Python之freshman05

一:内建模块 time和datetime(http://www.jb51.net/article/49326.htm) 在Python中,通常有这几种方式来表示时间:1)时间戳 2)格式化的时间字符串 3)元组(struct_time)共九个元素。由于Python的time模块实现主要调用C库,所以各个平台可能有所不同。 UTC(Coordinated Univer...

204

python常见数据格式读写

【代码】常见数据读写。

frighting_ing的博客 605

ADS122U04IPWR+PIC18F4553工业温度测量系统设计

温度测量是工业自动化与楼宇自控的基础感知环节,其核心在于从物理信号到工程数据的高保真转换。原理上需兼顾传感器激励、微弱信号调理、高精度模数转换及抗干扰数字处理;技术价值体现在宽温域稳定性、共模抑制能力与原始数据可控性;典型应用于HVAC系统、工业暖通控制器及嵌入式温控模块。本文聚焦ADS122U04IPWR(24位ΔΣ ADC)与PIC18F4553(集成USB 8位MCU)协同架构,深入解析其在PT100四线制测温中的信号链协同、星型接地实践与查表法温度解算,为工业级温度采集提供兼具可靠性、成本效益与开发

weixin_34408624的博客 559

day06

模块介绍 time &datetime模块 random os sys shutil json & picle shelve xml处理 yaml处理 configparser hashlib subprocess logging模块 re正则表达式 模块,用一砣代码实现了某个功能的代码集合。 类似于函数式编程和面向过程编程,函数式编程则完...

weixin_30951743的博客 110

Python 之路 Day5 - 常用模块学习

本节大纲: 模块介绍 time &datetime模块 random os sys shutil json & picle shelve xml处理 yaml处理 configparser hashlib subprocess logging模块 re正则表达式 模块,用一砣代码实现了某个功能的代码集合。 类似于函数式编程...

weixin_30289831的博客 85

Python常用模块

模块介绍time &datetime模块randomossysshutiljson & picleshelvexml处理yaml处理configparserhashlibsubprocesslogging模块re正则表达式     模块,用一砣代码实现了某个功能的代码集合。  类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合。

opera95的博客 768

python的各个模块,列举几个常用的python内置模块

1、getpass2、os3、sys4、subprocess5、hashlib6、json7、pickle8、shutil9、time10、datetime11、re12、random13、configparser14、traceback15、yaml16、itertools17、logging1、getpass模块详解pwd = getpass.getpass("请输入密码:") #输入密码不...

weixin_42615743的博客 892
上一篇: 包及模块,datetime,time,os
下一篇: 加密-日志-常用函数与高阶函数(random,iter,filter,map,reduce)
NLstudy33
博客等级 码龄5年 83粉丝 53原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值