python07
__init__.py
from . import p1
from . import p2 # 理解:import p2 先导入 p2 文件, 然后该文件的内容全要 from .
#
# 告诉调用者,哪些文件需要使用
p1.py
def sum(a,b):print(a + b)
p2.py
def max(a,b):if a > b:print(a)else:print(b)
py04.py
# 导入py的文件夹,文件夹中的init文件说明了要导出的是p1和p2 两个文件,只需要导py文件夹即可
import pypy.p1.sum(1,6)py.p2.max(9,2)
py70.py
def sum(a,b):print(a + b)
def max(a,b):if a > b:print(a)else:print(b)
py72.py
# # 部分导入
# from py70 import sum
# sum(1,5)# 给python文件起名字的时候,千万不要使用关键字,因为程序会优先寻找你文件夹中的这个文件,再去找系统的包
import random
ran1 = random.randint(1,10)
print(ran1)
py73.py
def fn1():print(__name__)
# 自己文件中打印__name__ 结果是__main__fn1()
py74.py
import py73 as p73p73.fn1() # 其他文件调用后,结果就是这个文件的名字
75.文件读写
# 方法1 不推荐使用,繁琐
# open("./1.txt",) # ./和不写,都代表从当前文件目录去找内容
# "r" 读取 encoding="utf8" 设置中文编码(国际编码)让中文可以正常显示
file1 = open(r".\1.txt","r",encoding="utf8")
print(file1.read())
file1.close() # 写了open 最后就要写close关闭文件
# 方法2 强烈推荐使用 系统自带close
with open(r".\1.txt","r",encoding="utf8") as file1:data = file1.read()
print(data)
76写入文件:
# # 向文件中写入内容 "w" 代表写入(覆盖)
# # "a" 代表 追加写入
# with open(r"./2.txt","w",encoding="utf8") as file1:
# file1.write("外星人你好,我是AI钢铁侠,请问你来自哪里")# 如果文件存在,就是进行写入,如果文件不存在,新建文件,再写入 会把原来的内容写入(覆盖写入)
with open(r"./4.txt","w",encoding="utf8") as file1:file1.write("外星人你好,我是AI钢铁侠,请问你来自哪里!")# 如果文件存在,"a" 代表 追加写入 不存在就是新建文件然后再写入
with open(r"./4.txt","a",encoding="utf8") as file1:file1.write("--你好新同学")with open(r"./4.txt","w",encoding="utf8") as file1:file1.write("-------------- hello world ------------------")# 练习1 改写文件中的内容 1.txt有python 改成c
# 1.读取1.txt内容
with open(r"./1.txt","r",encoding="utf8") as file1:data = file1.read() # 读取内容存到data变量中# print(data)data = data.replace("python","c") # 修改完毕后的值 把文件中的python替换为c# print(data)
with open(r"./1.txt","w",encoding="utf8") as file2:file2.write(data)# 练习2 合并文件:1.txt 和 2.txt 合并到 66.txt
# 1.读取两个文件的内容
with open(r"./1.txt","r",encoding="utf8") as file1:data_1 = file1.read()with open(r"./2.txt","r",encoding="utf8") as file2:data_2 = file2.read()# 两个文件的内容合并
with open(r"./66.txt","a",encoding="utf8") as file3:# 读取的内容是字符串类型,只需要进行加法即可file3.write(data_1 + data_2)
77按行读取:
# with open(r"./1.txt","r",encoding="utf8") as file1:
# # 因为我想一行一行读取,把代码写在while死循环中,读到最后位置了,我再让循环退出
# while 1:
# txt = file1.readline() # 一行一行读取
# if txt == "": #读到最后位置
# break # 后续不用操作了,直接break彻底退出
# else:
# print(txt,end="") # print自带换行,加end=""取消# with open(r"./1.txt","r",encoding="utf8") as file1:
# while 1:
# txt = file1.readline()
# if txt == "":
# break
# else:
# print(txt,end="")# 练习 读取一个文件的偶数行
with open(r"./66.txt","r",encoding="utf8") as file1:num = 0 # 计数器while 1:txt = file1.readline()if txt == "":breakelse:# 计数器加1num += 1# 偶数才行if num % 2 == 0:print(txt,end="")# 练习2 读取一个文件的奇数行
with open(r"./66.txt","r",encoding="utf8") as file2:num = 0while 1:txt = file2.readline()if txt == "":breakelse:num += 1if num % 2 == 1:print(txt,end="")
78读取json文件
import json # 导入json包
with open(r"./json01.json","r",encoding="utf8") as file_json:data = json.load(file_json) # json.load() 读取json的数据 括号里面是 重命名后的file_json文件print(data)
print(type(data)) # json数据读取到python中,类型就是dict字典类型
json01.json
{"name": "李老师", "age": 20, "isMan": true, "scholl": null, "address": {"country": "中国", "city": "山东", "street": "丰台"}, "score": [82, 88, 100], "link": [{"name": "en_mobile", "url": "www.baidu.com"}, {"name": "en_pc", "url": "www.taobao.com"}], "hehe": "呵呵", "haha": "哈哈"}
79写入json
# import json
# # 准备dict字典数据
# data = {
# "name":"张三",
# "age":18,
# "addr":"北京"
# }
#
# with open(r"./my.json","w",encoding="utf8") as file_json:
# json.dump(data,file_json,ensure_ascii=False)
# # ensure_ascii=False 让中文正常显示,不写就会当做unicode码展示import json
# 绝对路径:(相对于电脑的) 具体在电脑哪个文件夹下 E:\QHMS\python\07\代码\json01.json# 相对路径:根据当前文件去寻找其他文件的方式,叫 相对路径查找(相对路径是相对文件自己的)如下:
# 上级 ./ 当前目录 ../ 上一级目录 ../../ 上两级目录
# 下级 文件夹1/文件夹2
# 文件路径 读 国际码
with open(r"E:\QHMS\python\07\代码\json01.json","r",encoding="utf8") as file_json:json_data = json.load(file_json)print(json_data["address"]) # 拿字典类型数据的语法规则来使用json_data["age"] = 20 # 修改键值json_data["address"]["city"] = "山东" # 修改键值json_data["haha"] = "哈哈" # 原数据中没有这个键名,就相当于新增了一个键和值with open(r"./json01.json","w",encoding="utf8") as file_json2:json.dump(json_data,file_json2,ensure_ascii=False) # json.dump("要写入的数据", "起别名后的文件名", ensure_ascii=False)
my.json
{"name": "张三", "age": 18, "addr": "北京"}
相关文章:
python07
__init__.py from . import p1 from . import p2 # 理解:import p2 先导入 p2 文件, 然后该文件的内容全要 from . # # 告诉调用者,哪些文件需要使用 p1.py def sum(a,b):print(a b) p2.py def max(a,b):if a > b:print(a)else:pri…...
【CTS】android CTS测试
android CTS测试 1.硬件准备2. 软件准备3. 下载 CTS3.1 cts3.2 解压 CTS 包: 4 配置adb fastboot5 检查 Java 版本6 安装aapt26.1 下载并安装 Android SDK6.2 找到 aapt2 工具6.3 配置环境变量 7. 准备测试设备8. 运行 CTS 测试8.1 启动 CTS: 9. 查看测试…...
【雷丰阳-谷粒商城 】【分布式基础篇-全栈开发篇】【08】【商品服务】Object划分_批量删除
持续学习&持续更新中… 守破离 【雷丰阳-谷粒商城 】【分布式基础篇-全栈开发篇】【08】【商品服务】Object划分_批量删除 Object划分批量删除/添加参考 Object划分 数据库中对于一张表的数据,由于拥有隐私字段、多余字段、字段过少等原因,不应该直…...
JAVA开发 PDF文件生成表格,表格根据内容自动调整高度
1、展示效果 2、相关功能实现 JAVA开发 使用Apache PDFBox库生成PDF文件,绘制表格 3、实现代码 import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.pdmodel.PDPage; import org.apache.pdfbox.pdmodel.PDPageContentStream; import org.ap…...
OSINT技术情报精选·2024年6月第1周
OSINT技术情报精选2024年6月第1周 2024.6.11版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 1、经合组织:《2024数字经济展望:第1卷,拥抱技术前沿》 经合组织近日发布《2024数字经济展望》报告第一卷,…...
惊艳的短视频:成都科成博通文化传媒公司
惊艳的短视频:瞬间之美,震撼心灵 在数字化时代,短视频以其短小精悍、内容丰富的特点,迅速占领了我们的屏幕和时间。而在这个浩如烟海的视频海洋中,总有一些短视频能够脱颖而出,以其惊艳的视觉效果、深刻的…...
消费增值模式引领业绩飙升与用户活跃
大家好,我是吴军,致力于为您揭示私域电商领域的独特魅力与机遇。 今日,我很高兴与大家分享一个激动人心的成功案例。我们的客户在短短一个月的时间里,业绩就飙升至上百万级别,其用户活跃度更是居高不下,日…...
二叉树从入门到AC(3)完全二叉树与堆
完全二叉树与堆 前言优先队列:堆向下调整维护堆向上调整维护堆堆的作用 前言 本文算是补充之前的系列,在前文中,讲了二叉树的基本结构与应用 二叉树从入门到AC(1)构建和前中后序遍历 二叉树从入门到AC(2&a…...
AI写作:如何让创作过程更流畅?
写作这件事一直让我们从小学生头痛到打工人,初高中时期800字的作文让我们焦头烂额,一篇作文里用尽了口水话,拼拼凑凑才勉强完成。 大学时期以为可以轻松顺利毕业,结果毕业前的最后一道坎拦住我们的是毕业论文,苦战几个…...
2024中国海洋装备展暨航海装备大会(福州海峡国际会展中心)
关于邀请参加2024中国海洋装备博览会的函 为加快推动海洋强国建设。在福建省人民政府的大力支持下,第二届中国海洋装备博览会将于2024年11月15-18日在福州举办。 博览会将进一步聚焦产业链和供应链协同创新,着力推动现代海洋产业体系建设,促进海洋科技…...
CyberDAO:引领Web3时代的DAO社区文化
致力于Web3研究和孵化 CyberDAO自成立以来,致力于推动Web3研究和孵化,吸引了来自技术、资本、商业、应用与流量等领域的上千名热忱成员。我们为社区提供多元的Web3产品和商业机会,触达行业核心,助力成员捕获Web3.0时代的红利。 目…...
测试面试点
在面试PC端测试人员时,你可以提出以下具体问题来深入了解候选人的技能、经验和思维方式: 1. 技术能力与基础知识 你能解释一下什么是黑盒测试和白盒测试吗?你在过去的工作中是如何应用这两种测试方法的? 答案:黑盒测…...
Nginx配置详细解释:(4)高级配置
目录 1.网页的状态页 2.Nginx第三方模块(echo) 3.变量 4.自定义访问日志 5.Nginx压缩功能 6.https功能 7.自定义图标 Nginx除了一些基本配置外,还有一些高级配置,如网页的状态,第三方模块需要另外安装,支持变量,…...
OceanBase 4.3 特性解析:列存技术
在涉及大规模数据的复杂分析或即时查询时,列式存储是支撑业务负载的关键技术之一。相较于传统的行式存储,列式存储采用了不同的数据文件组织方式,它将表中的数据以列为单位进行物理排列。这种存储模式允许在分析过程中,查询计算仅…...
ARM32开发--PWM与通用定时器
知不足而奋进望远山而前行 目录 文章目录 前言 学习目标 学习内容 PWM pwm原理 需求 开发流程 初始化PWM PWM占空比控制 main函数修改duty 输出通道 关心的内容 重要的关键词 周期 分频 占空比 总结 前言 在微控制器开发中,理解和掌握PWM&#x…...
debugger(七):栈帧(backtrace)
〇、前言 在前面已经详细得介绍了栈帧,这里实现 backtrace。 一、backtrace 思路是遍历 stack,搜索 stack pointer,逐个打印栈帧信息,一直打印到 main 函数。 void Debugger::print_backtrace() {auto output_frame [frame_n…...
kafka-重试和死信主题(SpringBoot整合Kafka)
文章目录 1、重试和死信主题2、死信队列3、代码演示3.1、appication.yml3.2、引入spring-kafka依赖3.3、创建SpringBoot启动类3.4、创建生产者发送消息3.5、创建消费者消费消息 1、重试和死信主题 kafka默认支持重试和死信主题 重试主题:当消费者消费消息异常时&…...
electron-Vue: Module parse failed: Unexpected character ‘ ‘
electron-Vue项目中,我自己写了一个node的C扩展(xx.node),然后在.vue文件里import它,然后运行npm run electron:serve,报错如下: electron-Vue打包默认使用webpack,默认情况下webpack没…...
贪心算法-数组跳跃游戏(mid)
目录 一、问题描述 二、解题思路 1.回溯法 2.贪心算法 三、代码实现 1.回溯法实现 2.贪心算法实现 四、刷题链接 一、问题描述 二、解题思路 1.回溯法 使用递归的方式,找到所有可能的走步方式,并记录递归深度(也就是走步次数&#x…...
C++经典150题
经典150题 数组/字符串 文章目录 经典150题数组/字符串88. 合并两个有序数组27.移除元素26.删除有序数组中的重复项80.删除有序数组重点重复项II169.多数元素189.轮转数组121.买卖股票的最佳时机123.买卖股票的最佳时机 III55.跳跃游戏45.跳跃游戏II 88. 合并两个有序数组 给…...
synchronized 学习
学习源: https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖,也要考虑性能问题(场景) 2.常见面试问题: sync出…...
微信小程序之bind和catch
这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...
CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型
CVPR 2025 | MIMO:支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题:MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者:Yanyuan Chen, Dexuan Xu, Yu Hu…...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...
稳定币的深度剖析与展望
一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...
Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...
MySQL账号权限管理指南:安全创建账户与精细授权技巧
在MySQL数据库管理中,合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号? 最小权限原则…...
重启Eureka集群中的节点,对已经注册的服务有什么影响
先看答案,如果正确地操作,重启Eureka集群中的节点,对已经注册的服务影响非常小,甚至可以做到无感知。 但如果操作不当,可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习) 一、Aspose.PDF 简介二、说明(⚠️仅供学习与研究使用)三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...
【网络安全】开源系统getshell漏洞挖掘
审计过程: 在入口文件admin/index.php中: 用户可以通过m,c,a等参数控制加载的文件和方法,在app/system/entrance.php中存在重点代码: 当M_TYPE system并且M_MODULE include时,会设置常量PATH_OWN_FILE为PATH_APP.M_T…...
