Python基础(七)—输入输出(open、os、pickle)

基于STM32和K210的自动驾驶小车设计 自动驾驶技术正在迅速发展,成为了汽车行业和智能交通领域的热点之一。随着科技的发展,STM32和K210这两款芯片为自动驾驶小车提供了优秀的硬件支持。本文我们将学习如何使用STM32和K210打造一个简单的自动驾驶小车。提示:以下是本篇文章正文内容,下面案例可供参考通过这篇文章,掌握了如何使用STM32和K210构建一个简单的自动驾驶小车。通过了解基本的电路设计,并编写了STM32和K210的代码。通过这个例子,可以更好地理解如何在嵌入式系统中使用STM32和K210,以及如何实现自动驾驶小车的简单功能。 阅读详情

open

使用open打开一个文件对象:

open(file, mode=‘r’, buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
除了第一个是必须输入参数,其余参数均有默认值。

  • 打开方式mode
    mode表示open的打开方式,默认为’r’,读取模式。需要注意的是,file='d:files/file.txt’或者是file=‘d:files\file.txt’
打开模式执行操作
‘r’只读的方式打开文件(默认)
‘w’写入方式打开,会覆盖原文件
‘x’如果文件存在,使用此模式会引发异常
‘a’写入模式打开,文件存在则在末尾追加
‘b’二进制模式打开文件
‘t’以文本的模式打开文件(默认)
‘+’可读写模式(可添加到其他模式中使用)
‘U’通用换行符支持
  • 编码方式encoding
    是用于解码或编码文件的编码的名称。这应该只在文本模式下使用。默认编码取决于平台,但可以传递Python支持的任何编码。有关支持的编码列表,请参阅编解码器模块。https://docs.python.org/3/library/codecs.html
    上一个windows下常见编码的encoding:

      f_ascii = open('d:/blog/ascii.txt')
      f_utf8 = open('d:/blog/utf8.txt', encoding='utf-8')
      f_unicode = open('d:/blog/unicode.txt', encoding='utf-16')
      f_unicodebigendian = open('d:/blog/unicodebigendian.txt', encoding='utf-16')
    
      print(f_ascii.read())
      print(f_utf8.read())
      print(f_unicode.read())
      print(f_unicodebigendian.read())
    
      f_ascii.close()
      f_utf8.close()
      f_unicode.close()
      f_unicodebigendian.close()
    
  • 文件对象的方法
    使用open打开一个文件对象后,会使用到一系列的方法对其进行读取、写入、关闭操作。方法如下:
    | 文件对象方法 | 执行操作 |
    | ------------------------------ | ----------------------------------------------------------------------------------------------- |
    | f.close() | 关闭文件 |
    | f.read([size=-1]) | 从文件读取size个字符,当未给定size或给定负值的时候,读取剩余的所有字符,然后作为字符串返回 |
    | f.readline([size=-1]) | 从文件中读取并返回一行(包括行结束符),如果有size有定义则返回size个字符 |
    | f.write(str) | 将字符串str写入文件 |
    | f.writelines(seq) | 向文件写入字符串序列seq,seq应该是一个返回字符串的可迭代对象 |
    | f.seek(offset, from) | 在文件中移动文件指针,从from(0代表文件起始位置,1代表当前位置,2代表文件末尾)偏移offset个字节 |
    | f.tell() | 返回当前在文件中的位置 |
    | f.truncate([size=file.tell()]) | 截取文件到size个字节,默认是截取到文件指针当前位置 |

    虽然python有垃圾回收机制,但是最好每次操作完都使用close()关闭文件,特别是写入操作。

    f_ascii = open('d:/blog/ascii.txt')
    
    # 这种话方法效率低
    lines = list(f_ascii)
    print(lines)
    for line in lines:
        print(line)
    
    f_ascii.seek(0, 0)
    # 官方推荐使用该方法
    for line in f_ascii:
        print(line)
    

os模块

汉诺塔:汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。

  • 关于文件和目录的常用函数
函数名使用方法
getcwd()返回当前工作目录
chdir(path)改变工作目录
listdir(path=’.’)列举指定目录中的文件名(’.‘表示当前目录,’…'表示上一级目录)
mkdir(path)创建单层目录,如该目录已存在抛出异常
makedirs(path)递归创建多层目录,如该目录已存在抛出异常,注意:'E:\a\b’和’E:\a\c’并不会冲突
remove(path)删除文件
rmdir(path)删除单层目录,如该目录非空则抛出异常
removedirs(path)递归删除目录,从子目录到父目录逐层尝试删除,遇到目录非空则抛出异常
rename(old, new)将文件old重命名为new
system(command)运行系统的shell命令
walk(top)遍历top路径以下所有的子目录,返回一个三元组:(路径, [包含目录], [包含文件])
  • 支持路径操作中常用到的一些定义,支持所有平台
函数名使用方法
os.curdir指代当前目录(’.’)
os.pardir指代上一级目录(’…’)
os.sep输出操作系统特定的路径分隔符(Win下为’\’,Linux下为’/’)
os.linesep当前平台使用的行终止符(Win下为’\r\n’,Linux下为’\n’)
os.name指代当前使用的操作系统(包括:‘posix’, ‘nt’, ‘mac’, ‘os2’, ‘ce’, ‘java’)
  • os.path模块中关于路径常用的函数
函数名使用方法
basename(path)去掉目录路径,单独返回文件名
dirname(path)去掉文件名,单独返回目录路径
join(path1[, path2[, …]])将path1, path2各部分组合成一个路径名
split(path)分割文件名与路径,返回(f_path, f_name)元组。如果完全使用目录,它也会将最后一个目录作为文件名分离,且不会判断文件或者目录是否存在
splitext(path)分离文件名与扩展名,返回(f_name, f_extension)元组
getsize(file)返回指定文件的尺寸,单位是字节
getatime(file)返回指定文件最近的访问时间(浮点型秒数,可用time模块的gmtime()或localtime()函数换算)
getctime(file)返回指定文件的创建时间(浮点型秒数,可用time模块的gmtime()或localtime()函数换算)
getmtime(file)返回指定文件最新的修改时间(浮点型秒数,可用time模块的gmtime()或localtime()函数换算)
  • 函数返回 True 或 False
函数名使用方法
exists(path)判断指定路径(目录或文件)是否存在
isabs(path)判断指定路径是否为绝对路径
isdir(path)判断指定路径是否存在且是一个目录
isfile(path)判断指定路径是否存在且是一个文件
islink(path)判断指定路径是否存在且是一个符号链接
ismount(path)判断指定路径是否存在且是一个挂载点
samefile(path1, paht2)判断path1和path2两个路径是否指向同一个文件

永久存储pickle

二进制读取存储,存放:pickling,读取unpickling。

  • 用途:

    • 所有python支持的原生类型:布尔值,整数,浮点数,复数,字符串,字节,None。
    • 由任何原生类型组成的列表,元组,字典和集合。
    • 函数,类,类的实例
  • 实例

    import pickle
    
    dataList = [[1, 1, 'yes'],
                [1, 1, 'yes'],
                [1, 0, 'no'],
                [0, 1, 'no'],
                [0, 1, 'no']]
    dataDic = { 0: [1, 2, 3, 4],
                1: ('a', 'b'),
                2: {'c':'yes','d':'no'}}
    
    # 使用dump()将数据序列化到文件中
    fw = open('dataFile.txt', 'wb')
    # Pickle the list using the highest protocol available.
    pickle.dump(dataList, fw, -1)
    # Pickle dictionary using protocol 0.
    pickle.dump(dataDic, fw)
    fw.close()
    
    # 使用load()将数据从文件中序列化读出
    fr = open('dataFile.txt', 'rb')
    data1 = pickle.load(fr)
    print(data1)
    data2 = pickle.load(fr)
    print(data2)
    fr.close()
    
    # 使用dumps()和loads()举例
    p = pickle.dumps(dataList)
    print(pickle.loads(p))
    p = pickle.dumps(dataDic)
    print(pickle.loads(p))
        """
        [[1, 1, 'yes'], [1, 1, 'yes'], [1, 0, 'no'], [0, 1, 'no'], [0, 1, 'no']]
        {0: [1, 2, 3, 4], 1: ('a', 'b'), 2: {'c': 'yes', 'd': 'no'}}
        [[1, 1, 'yes'], [1, 1, 'yes'], [1, 0, 'no'], [0, 1, 'no'], [0, 1, 'no']]
       {0: [1, 2, 3, 4], 1: ('a', 'b'), 2: {'c': 'yes', 'd': 'no'}}
        """
    

个人博客:Loak 正 - 关注人工智能及互联网的个人博客
文章地址:Python基础(七)—输入输出(open、os、pickle)

Python | KS检验以及其余非参数检验的实现 Python | KS检验以及其余非参数检验的实现1 什么是KS检验2 KS检验分类?3 KS检验的Python实现3.1 检验指定的数列是否服从正态分布3.2 检验指定的两个数列是否服从相同分布4 其余的非参数检验4.1 Wilcoxon符号秩检验(t检验的非参数版本)4.2 Kruskal-Wallis H检验(方差分析的非参数版本)4.3 Mann-Whitney秩检验5 参考 1 什么是KS检验 定义:检验一个分布f(x)与理论分布g(x)【比如正态分布】是否一致,或两个观测值分布是否有显著差异的检 阅读详情

相关推荐

Allegro模块复用:从原理图到PCB的完整流程与关键细节

本文详细介绍了Allegro模块复用从原理图到PCB的完整流程与关键细节,包括DSN和MDD文件的创建、模块调用的实战技巧以及双向同步与版本控制方法。通过标准化处理和高级复用技巧,能显著提升PCB设计效率,减少重复工作时间。适用于智能硬件和工业控制等领域的工程师。

weixin_30252709的博客 332

python学习-pickle存储、open函数(31)

pickle存储 将数据存储到文件中,一般情况是直接把数据一条条的写入文件,这个时候该数据的格式就会消失。如果存储的数据过大,且需要反复使用该数据时,每次打开文件将数据重新读取并生成一个指定的格式是件很麻烦的事情。 Python中的一个模块—pickle可以有效的解决这种问题。 dump函数用来将数据结构通过二进制的方式写入到文件中。 load函数用来将二进制的文件读取出来,并返回存储时的数据结构。 实例: >>> import pickle >>> my_list=[1

weixin_46945263的博客 350

基于强化学习框架的交易策略学习过程

每个状态s∈S 是一个由六个微观结构特征构成的向量,这些特征反映了当前市场的订单簿状态和近期交易行为。

xu624735206的博客 1112

Python 之 os、open、json、pickle 模块的“疯狂”探险记

嘿呀!准备好和我们一起跳进 Python 的奇妙世界,来一场和 os、open、json、pickle 模块的“疯狂”探险啦! os 模块就像个调皮的探险家,在操作系统的丛林里上蹿下跳,一会儿捣鼓文件路径,一会儿又折腾目录,给咱们开出一条条新奇的路。 open 模块简直是个古灵精怪的钥匙匠,变着花样打造各种稀奇古怪的钥匙,一会儿打开神秘的文本宝箱,一会儿又破解二进制的密码锁。 json 模块呢,那就是个会变戏法的魔法师,轻轻松松把 Python 里那些奇奇怪怪的结构变成神奇的 JSON 咒语,又能把外面的

weixin_61003764的博客 377

(SCADA)监控与数据采集系统

SCADA应用于监控和采集数据来控制工业过程软件。它通过收集和传输实时数据,帮助操作员监视和控制各种设备和过程。

软件技术的专栏 4548

SiamRPN++实战:如何用深度孪生网络提升无人机目标跟踪精度(附代码)

本文深入探讨了如何利用SiamRPN++深度孪生网络构建适用于无人机平台的高精度、轻量化单目标跟踪系统。文章详细解析了其兼顾精度与效率的核心原理,并提供了从PyTorch模型轻量化、骨干网络替换到TensorRT部署及应对遮挡、光照突变等实际挑战的完整工程实践指南与代码示例。

weixin_29047545的博客 371

Python学习—open函数,json与pickle知识点,Os模块详解

Os模块,json和pickle模块,Open函数知识详细介绍

weixin_Z-fovik-Y-2912 1247

OpenWRT端口转发与NAT环回冲突的排查与解决

本文详细解析了OpenWRT路由器中端口转发与NAT环回功能冲突导致的内网访问故障。通过生活化类比阐明两者工作原理,提供从基础诊断到内核参数调整、LuCI选项配置及手动编写iptables规则的多套解决方案,并给出进阶排查思路,帮助用户彻底解决内网无法通过公网地址访问服务的常见问题。

weixin_29243279的博客 508

python中pickle的用法,以及open函数的参数意义

pickle库:pickle提供了一个简单的持久化功能。可以将对象以文件的形式存放在磁盘上。pickle模块只能在python中使用,python中几乎所有的数据类型(列表,字典,集合,类等)都可以用pickle来序列化。例如:pickle.dump(obj, file[, protocol])  序列化对象,并将结果数据流写入到文件对象中。参数protocol是序列化模式,默认值为0,表示以文本...

qq_29417013的博客 2380

软考「系统规划与管理师(第2版)」考后复盘|考试大纲深度解读

第2版大纲其实在定义一种新岗位:不是“会运维的人”,而是“能站在业务战略高度,规划信息系统、治理服务过程、驱动数字化转型的总设计师”。你读大纲,别只看到24章。基础篇给你世界观方法篇给你规划力能力篇给你管理力实践篇给你落地感格局决定分数,责任决定高度。先懂大纲要什么样的人,再决定自己怎么学。官方大纲以中国计算机技术职业资格网最新公布版本为准:https://www.ruankao.org.cn。

软件行业技术文化交流。 42

把 SM30 用顺:从表设计到权限与传输,全面掌握 SAP Table Maintenance Generator

摘要 SAP的Table Maintenance Generator(TMG)是为配置表维护需求设计的经典工具,能够生成标准化的维护对话框(SM30)。它支持单表、维护视图(多表关联)和视图簇(导航式维护)三种维护对象类型。使用TMG前需注意三个关键设置:1)表维护权限选项;2)交付类(决定数据传输行为);3)客户端字段配置。通过SE54/SE11生成维护对话框时,需选择维护类型(一步/两步)和记录例程(控制传输)。TMG生成的对象包含函数组、屏幕和处理模块,但部分标准框架不可修改。实际应用中,可通过参数事

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 176

Python 文件操作与管理:Open函数、Json与Pickle、Os模块

Python 中的open()函数是处理文件的标准方法。它允许你打开一个文件,并对其进行读取、写入或追加操作:文件路径:打开方式(读: r写: w 读完之后光标停留在最后读取的位置追加: a可读写 r+(文件不存在就报错)可读写 w+(文件不存在就创建,如果文件内有内容会覆盖)可读写 a+(光标默认停留在最后,不可直接读取到内容,使用seek(0)调整光标位置),无论光标在哪,默认在最后写入读取二进制 rb写二进制 wb:解码方式。

2201_76129403的博客 854

【BlueDroid】蓝牙音乐协议分析之A2DP和AVRCP连接流程(超详细)

AVCTP协议描述了蓝牙设备间Audio/Video的控制信号交换的格式和机制,他是一个总体的协议,具体的控制信息由其指定的协议(AVRCP)实现,AVCTP协议本身只指定控制Command和Response的总体的格式;这个过程中对应了Event中的btavrcp_play_status_changed_callback和btavrcp_play_position_changed_callback;上述为AVCTP-Control建立L2CAP连接的Command,对应H4的Sent (0x00);

风云说通信 7317

浅谈Open.Json.pickle.Os

Open.Json.pickle.Os是python开发过程中比较核心的内容。

做一位与众不同的吗喽 1163

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

python中Open函数使用、Json与pickle、Os模块

【代码】python中Open函数使用、Json与pickle、Os模块。

2401_86120676的博客 908

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Open函数使用 Json与pickle Os模块

Open函数是Python中用于打开文件的内置函数。

Y226774154的博客 1017

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

如何使用Open函数、Json与Pickle、Os模块

json模块提供了一组函数来解析JSON数据、将Python对象转换为JSON数据,以及将JSON数据转换为Python对象。方法可以读取文件的全部内容,使用readline()方法是读取一行,而readlines()方法是逐行读取,返回列表,列表中存放每一行的字符串。其中,文件名是要打开的文件的路径和名称,可以是相对路径或绝对路径。它可以用来打开一个文件,并返回一个文件对象,用于后续对文件的读取、写入等操作。通过使用json模块,可以方便地处理JSON数据,从而实现数据的序列化和反序列化。

weixin_66722017的博客 730

python常用模块(JSON与pickle、Os模块)

使用pickle模块,可以方便地将复杂的数据结构(如列表、字典、类等)进行序列化,并保存到文件或网络中。同时,也可以通过反序列化,将保存的数据重新转化成Python对象。它允许您执行文件和目录操作,处理进程和环境变量,以及执行其他与操作系统相关的任务。它可以将Python对象转换成字节流,以及将字节流转换回Python对象。函数时,需要将输入的字符串或文件内容符合JSON数据的格式。函数用于打开文件,并返回一个文件对象,同时支持。,表示使用系统默认的换行符处理。,表示使用系统默认的编码方式。

2402_86110194的博客 1322

Python数据序列化与文件操作:深入Open、JSON、Pickle和OS模块

open在Python编程中,数据序列化和文件操作是两个基础而强大的功能。序列化允许我们将数据结构转换为一种可以存储或传输的格式,而文件操作则让我们能够与操作系统进行交互,处理文件和目录。本文将深入探讨Python中的open函数、json和pickle模块,以及os模块的使用方法,并提供详细的实例。

H_Hyyy的博客 808

python的常用文件操作os、shutil、open和pickle

python的常用文件操作os 目录python的常用文件操作os

weixin_47873308的博客 508

文件和目录操作(os,os.path),文件读写(open,with),序列化(pickle,json)

文章目录IO操作目录和文件(os,os.path)操作文件和目录文件读写(open)常见格式完整格式file打开模式modefile常用的函数注意StringIO和BytesIOStringIOBytesIO序列化(pickle,json)序列化反序列化注意Json(dumps,loads)Json序列化基本数据类型序列化反序列化Json序列化实例对象需要定制Json序列化反序列化需要定制Json反序列化函数说明常见的文件操作读操作写操作 IO Input/Output,也就是输入和输出;IO编程中,St

Tiko的博客 1155

玩转Python之os模块、open与json的使用

主要有python的open读取文件或者图片,json、pickle序列化和反序列化的使用。

weixin_65436886的博客 619

python 文件操作_os模块 & json模块 & pickle模块

文件操作 学习目标 1、文件操作介绍 2、os模块详解 3、json模块详解 4、pickle模块详解 5、匿名函数 6、递归函数 01. 文件操作介绍 日常中的数据存储在纸上, 而计算机的数据存储在哪里呢? —硬盘上 文件的作用? 一个程序在运行过程中用了九牛二虎之力终于计算出了结果,试想一下如果不把这些数据存放起来,相比重启电脑之后,“哭都没地方哭了”。 默认数据是加载到内存中,结果也是保存到...

weixin_44568633的博客 1039

【Python】文件 读取 写 os模块 shutil模块 pickle模块

1.文件1.1 读取操作1.2 写操作1.3 os:文件管理1.5 shutil:文件的拷贝删除移动解压缩1.6 pickle:数据永久存储

m0_61628700的博客 788

Python pickle和os.path

pickle用于在训练模型后将模型保存下来,避免重复运行,可以节省时间,还可以把训练好的模型直接导入其他文件 模型保存 tfidf_path = 'tfidf.pkl' with open(tfidf_path, 'wb') as in_data: pickle.dump(clf_tfidf, in_data, pickle.HIGHEST_PROTOCOL) print("tfidf model saved:" + tfidf_path) wb: 以二进制格式打开一个文件只用于写入

kunAUGUST的博客 323

(一篇文章,三重满足)open函数,json和pickle模块,os模块

用于定位一个文件或者目录的字符串被称为 路径。在程序开发时,通常涉及到两种路径:一种是相对路径,另一种是绝对路径。相对路径: 在学习相对路径之前,需要先了解什么是当前工作目录,当前工作目录是指当前文件所在的目录。在 Python 中,可以通过 os 模块提供的 getcwd() 方法获取当前工作目录。import osprint(os.getcwd()) # 打印当前目录相对路径是依赖于当前工作目录的。如果在当前工作目录下,有一个名称为。

2302_77361311的博客 2022
上一篇: Python基础(六)—函数式编程(内部函数、闭包、lambda、filter/map/reduce/sorce、偏函数)
下一篇: Python基础(八)—编码详解(ASCII、GBK、Unicode、UTF-8等)、decode&encode
luoz_python
博客等级 码龄10年 57粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值