掌握Python输入输出:从键盘到文件的全面指南

news2024/9/25 11:17:05

更多资料获取

📚 个人网站:涛哥聊Python


Python作为一门强大的编程语言,提供了丰富而灵活的输入输出(I/O)功能,使得与用户交互和数据处理变得轻而易举。

标准输入与标准输出

Python的输入输出从最基础的标准输入(stdin)和标准输出(stdout)开始。

print()函数将文本输出到屏幕上

input()函数从用户获取输入。

# 使用print()函数输出文本
print("Hello, Python!")

# 使用input()函数获取用户输入
name = input("请输入您的名字:")
print(f"欢迎您,{name}!")

在这里,向用户问好并获取其名字,然后将其回显到屏幕上。

文件输入与输出

在Python中,文件操作非常常见。可以使用open()函数来打开文件,并通过它来读取或写入文件内容。为了确保文件在使用完毕后被正确关闭,通常使用with语句块。

# 打开文件以读取内容
with open("example.txt", "r") as file:
    content = file.read()
    print(content)

# 打开文件以写入内容
with open("output.txt", "w") as file:
    file.write("这是写入的文本。")

这里,打开了一个文件以供读取,并将其内容显示在屏幕上,然后创建了一个新文件并向其中写入文本。

文件操作技巧

除了基本的文件读写外,还有一些技巧可以让文件操作更加灵活。例如,可以构建文件路径,检查文件是否存在,以及创建和删除目录。

import os

# 构建文件路径
file_path = os.path.join("data", "example.txt")

# 检查文件是否存在
if os.path.exists(file_path):
    print("文件存在。")

# 创建目录
os.makedirs("my_directory")

# 删除目录
os.rmdir("my_directory")

这里,使用os模块执行了文件路径构建、文件存在检查、目录创建和目录删除操作。

实际应用

文件操作在实际应用中非常重要。例如,可以使用Python来处理文本文件,如日志文件或配置文件。

下面是一个简单的例子,演示如何读取和写入文本文件。

# 读取配置文件
config = {}
with open("config.txt", "r") as file:
    for line in file:
        key, value = line.strip().split("=")
        config[key] = value

# 修改配置并保存
config["username"] = "new_user"
with open("config.txt", "w") as file:
    for key, value in config.items():
        file.write(f"{key}={value}\n")

在这个示例中,读取了一个配置文件并修改了其中的值,然后将修改后的配置保存回文件。

最佳实践和注意事项

在Python的文件操作中,一些最佳实践可以确保代码更加健壮和可维护。这包括处理字符编码、处理大文件和异常处理等。

try:
    with open("file.txt", "r", encoding="utf-8") as file:
        content = file.read()
except FileNotFoundError:
    print("文件不存在。")
except UnicodeDecodeError:
    print("无法解码文件。")
else:
    print("文件读取成功。")

使用异常处理来处理文件不存在和字符编码问题。

总结

在实际应用中,Python的I/O功能变得更加强大。可以处理文本文件、CSV、JSON等各种数据格式,同时还可以进行异常处理、字符编码处理以及大文件操作。


Python学习路线

在这里插入图片描述

更多资料获取

📚 个人网站:涛哥聊Python

如果还想要领取更多更丰富的资料,可以点击文章下方名片,回复【优质资料】,即可获取 全方位学习资料包。

在这里插入图片描述
点击文章下方链接卡片,回复【优质资料】,可直接领取资料大礼包。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1079143.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

主从Reactor高并发服务器

文章目录 Reactor模型的典型分类单Reactor单线程单Reactor多线程多Reactor多线程本项目中实现的主从Reactor One Thread One Loop各模型的优点与缺点 项目分解Reactor服务器模块BufferSocketChannelEpollerTimerWheelEventLoopAnyConnectionAcceptorLoopThreadLoopThreadPoolTc…

如何进行前端单元测试?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

Servlet的部署与安全

1 Servlet 部署 Servlet规范关于各个东西该放在哪里有许多严格的规则。 1.1 WAR war文件代表Web归档(Web Archive),war实际就是一个JAR,只不过扩展名是.war而不是.jar。 其采用了一种可移植的压缩形式,把整个Web应用结构(去掉…

知识图谱系列4:neo4j学习

这是一篇还不错的教程,我将会针对其中的Cypher语法在这篇帖子内提出问题,以便学习与复习。 MATCH是什么操作? 小括号()代表什么?(n)代表什么? MATCH (n) DETACH DELETE n是什么含义&#xff1…

紫光同创FPGA实现UDP协议栈精简版,基于YT8511和RTL8211,提供2套PDS工程源码和技术支持

目录 1、前言免责声明 2、我这里已有的以太网方案3、设计思路框架RGMII转GMII动态ARPUDP协议回环FIFOIP地址、端口号修改 4、PDS工程1:YT8511版本5、PDS工程2:RTL8211版本6、上板调试验证并演示准备工作动态ARP测试UDP通信测试 7、福利:工程代…

铁道交通运输运营3D模拟仿真实操提供一个沉浸、高效且环保的情境

VR模拟果蔬运输应急处理场景在农产品物流行业中具有重要的意义。这种模拟技术为农产品运输提供了全新的、更高效和更安全的方式来模拟真实世界的应急情况,帮助操作人员、研究者和管理者更好地理解和应对可能的运输风险措施。 VR模拟果蔬运输应急处理场景可以模拟出各…

如何在 Spring Boot 中实现容错机制

在 Spring Boot 中实现容错机制 容错机制是构建健壮和可靠的应用程序的重要组成部分。它可以帮助应用程序在面对异常或故障时保持稳定运行。Spring Boot提供了多种机制来实现容错,包括异常处理、断路器、重试和降级等。本文将介绍如何在Spring Boot中实现这些容错机…

Ubuntu输入正确密码重新跳到登录界面

Ubuntu输入正确密码重新跳到登录界面 问题描述 输入正确的密码登录后闪一下又回到锁屏界面 输入正确的密码后还是回到这个界面 产生的原因 /etc/profile或者/etc/enviroment出现了问题,导致无法正常登录 该错误产生的原因不止一个 这里是因为/etc/profile或者/etc/enviromen出…

mac使⽤nginx

⽅法1:homebrew 默认本地已经安装homebrew; 安装与启动 brew install nginx 安装nginx; brew services start nginx 启动nginx nginx⽂件⽬录 1. nginx安装⽂件⽬录/usr/local/Cellar/nginx 2. nginx配置⽂件⽬录/usr/local/etc/nginx 3. con…

C语言每日一题(12)猜排名

题目描述 5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果: A选手说:B第二,我第三; B选手说:我第二,E第四; C选手说:我第一,D第二; D…

Linux:redis的基础操作

redis介绍,安装和性能测试 Linux:redis数据库源码包安装-CSDN博客https://blog.csdn.net/w14768855/article/details/133752744?spm1001.2014.3001.5501如果没有了解过redis那么一定要去看看介绍 登录 redis-cli 可以登录到本机127.0.0.1,…

CSS特殊学习网址

css基本教程内填充padding——前端编程新手必学_哔哩哔哩_bilibilicss3基本语法CSS flex布局(弹性布局/弹性盒子)Agence digitale crative Paris et Montpellier | Sweet PunkCSS布局CSS Layout — Phuoc NguyenCSS中文特效Coco ’s blog特效网址Coco ’…

uniapp获取公钥、MD5,‘keytool‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。

获取MD5、SHA1、SHA256指纹信息 通过命令的形式获取 winr调出黑窗口cd到证书所在目录输入keytool -list -v -keystore test.keystore,其中 test.keystore为你的证书名称加文件后缀按照提示输入你的证书密码,就可以查看证书的信息 通过uniapp云端查看(证书是在DClou…

SR660 V2 ESXI 的安装

连接BMC端口 登录BMC管理界面(需要设置三个参数: IP DNS RAID ) 在网络设置里有IP DNS 的设置 配置IP 配置DNS Ctrl shift 选中物理驱动器配置里的两块磁盘 否则会弹出报错:最小值2物理设备应该按照所选的RAID等级来配置 配置…

docker compose和consul(服务注册与发现)

一、Docker-compose 简介 Docker-Compose项目是基于Python开发的Docker官方开源项目,负责实现对Docker容器集群的快速编排。 Docker-Compose将所管理的容器分为三层,分别是 工程(project),服务(service&a…

STM32使用HAL库驱动DS18B20

1、STM32CubeMx配置IO口 因为DS18B20是单总线,数据接收发送都是这根线,所以单片机配置为开漏上拉输出。 2、定时器配置 因为DS18B20对时序要求比较严格,建议用定时器延时获得微秒延时函数。 总线为48M,分频48,获得1…

Mall脚手架总结(二) —— SpringData操作Elasticsearch

前言 万字长文带你弄清楚SpringData中的Elasticsearch操作以及在脚手架里接口的结构关系!经过前面鉴证授权的整合,荔枝开始熟悉项目的学习的方法了,虽然脚手架中的内容比较简单,但是把边角的知识点全部扫到还是比较花时间的尤其是…

panads操作excel

panads简介 pandas是基于Numpy创建的Python包,内置了大量标准函数,能够高效地解决数据分析数据处理和分析任务,pandas支持多种文件的操作,比如Excel,csv,json,txt 文件等,读取文件之…

Rust 中的 Pin UnPin Async Await 实现机制

原文地址 为了保证概念的严谨性,翻译时保留了英文原文。 In this post, we explore cooperative multitasking and the async/await feature of Rust. We take a detailed look at how async/await works in Rust, including the design of the Future trait, the…

算法学习笔记2023.1

为什么要学算法 因为算法无处不在 算法可以性能优化 c 面试问题 #include<iostream> using namespace std;void selectSort( int arr[], int n){for(int i 0; i < n; i){int minIndex i;for(int j i1 ; j < n ; j){if(arr[j] < arr[minIndex])minIndex j…