「Python系列」Python输入输出

本文涉及的产品
性能测试 PTS,5000VUM额度
容器镜像服务 ACR,镜像仓库100个 不限时长
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
简介: 在Python中,输入和输出是程序与用户交互的基本方式。Python提供了几种内置函数来处理输入和输出操作。

一、Python输入输出

在Python中,输入和输出是程序与用户交互的基本方式。Python提供了几种内置函数来处理输入和输出操作。

输入(Input)

Python使用input()函数从用户那里获取输入。input()函数将用户输入的内容作为字符串返回。

# 获取用户输入并打印
user_input = input("请输入一些内容: ")
print("你输入的内容是:", user_input)

当你运行上面的代码时,程序会等待用户在命令行中输入一些文本。用户输入的任何内容都将被存储在user_input变量中,然后程序将打印出用户输入的内容。

输出(Output)

Python使用print()函数来输出内容到控制台。print()函数可以接受多个参数,并将它们打印到屏幕上。

# 输出文本
print("Hello, World!")

# 输出变量的值
x = 10
print("x的值是:", x)

# 输出多个变量的值
y = 20
print("x的值是:", x, "y的值是:", y)

# 使用格式化字符串输出
name = "Alice"
age = 30
print(f"我的名字是{name},我{age}岁了。")

print()函数还支持格式化字符串(f-strings),这是从Python 3.6开始引入的一种新特性,允许你在字符串中嵌入表达式,这些表达式在运行时会被计算,并将结果插入到字符串中。

文件输入和输出

除了从控制台读取和写入数据外,Python还允许你读取和写入文件。这通常是通过使用open()函数来完成的,它返回一个文件对象,你可以使用这个对象来读取或写入文件。

写入文件

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

读取文件

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

在上面的例子中,with语句用于确保文件在使用完毕后会被正确关闭。'w'模式表示写入模式(如果文件已存在,则会被覆盖),而'r'模式表示读取模式。

错误和异常处理

当进行输入和输出操作时,可能会遇到错误,比如文件不存在、无法打开文件、读取/写入失败等。Python使用异常处理来管理这些情况。

try:
    # 尝试打开并读取文件
    with open('nonexistent.txt', 'r') as file:
        content = file.read()
        print(content)
except FileNotFoundError:
    # 如果文件不存在,则打印错误消息
    print("文件不存在,请检查文件路径和名称。")

在这个例子中,try块包含可能会引发异常的代码。如果open()函数无法打开文件(例如,文件不存在),则会引发FileNotFoundError异常,然后执行except块中的代码。

这些是Python中处理输入和输出的基本概念。通过结合使用input()print()和文件操作,你可以创建出功能丰富的交互式程序。

二、读写文件-模式

open(filename, mode)

filename:包含了你要访问的文件名称的字符串值。
mode:决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读(r)。

模式 描述

r| 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb| 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。
r+| 打开一个文件用于读写。文件指针将会放在文件的开头。
rb+| 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
w| 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb| 以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
w+| 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb+| 以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
a| 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab| 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+| 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+| 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

三、Python文件对象的方法

在Python中,当你使用open()函数打开一个文件时,你会得到一个文件对象。这个文件对象提供了许多方法来读取和写入文件内容,以及执行其他与文件相关的操作。以下是一些常用的文件对象方法:

读取文件

  • read([size]): 读取文件内容。如果指定了size参数,则读取指定数量的字节并返回。如果不指定size或指定为负数,则读取并返回整个文件。
with open('file.txt', 'r') as file:
    content = file.read()
    print(content)
  • readline(): 读取文件的一行。
with open('file.txt', 'r') as file:
    line = file.readline()
    print(line)
  • readlines(): 读取文件的所有行,并返回一个包含各行作为元素的列表。
with open('file.txt', 'r') as file:
    lines = file.readlines()
    for line in lines:
        print(line)

写入文件

  • write(string): 将字符串写入文件。
with open('file.txt', 'w') as file:
    file.write("Hello, World!")
  • writelines(list_of_strings): 将字符串列表写入文件,每个字符串对应一行。
with open('file.txt', 'w') as file:
    file.writelines(["第一行\n", "第二行\n", "第三行\n"])

文件指针操作

  • seek(offset, whence): 改变文件当前位置。offset表示偏移的字节数,whence指定起始位置(0表示文件开头,1表示当前位置,2表示文件结尾)。
with open('file.txt', 'r') as file:
    file.seek(10)  # 移动到文件的第10个字节处
    content = file.read()
    print(content)
  • tell(): 返回文件当前位置(即文件指针的当前位置)。
with open('file.txt', 'r') as file:
    position = file.tell()  # 获取当前位置
    print(position)

关闭文件

  • close(): 关闭文件。当你使用with语句打开文件时,Python会在with块结束后自动关闭文件,因此通常不需要手动调用close()方法。
file = open('file.txt', 'r')
# ... 执行文件操作 ...
file.close()  # 关闭文件

其他方法

  • flush(): 刷新文件缓冲区,确保所有待写入的数据都被写入文件。
  • fileno(): 返回一个文件描述符(一个整数),可以用于低级别的I/O操作。
  • isatty(): 如果文件是交互式设备(如终端)则返回True,否则返回False。
  • name: 返回文件的名称。
  • mode: 返回文件的打开模式。
  • newlines: 返回文件中用到的行结束符,如果文件是在文本模式下打开的,则此属性有效。

这些方法提供了与文件交互的基本功能。当你处理文件时,应该始终确保在完成操作后关闭文件,以避免资源泄漏。使用with语句是一种确保文件正确关闭的好方法。

四、相关链接

  1. Python下载安装中心
  2. Python官网
  3. Python软件下载
  4. 「Python系列」Python简介及案例
  5. 「Python系列」Python基础语法/数据类型
  6. 「Python系列」Python解释器
  7. 「Python系列」Python运算符
  8. 「Python系列」Python数据结构
  9. 「Python系列」Python元组
  10. 「Python系列」Python集合
  11. 「Python系列」Python列表
相关文章
|
6月前
|
Java 编译器 C语言
python安装、输入输出、注释、中文编码、编码规范等基础语法
python安装、输入输出、注释、中文编码、编码规范等基础语法
100 0
|
6月前
|
Python
python----输入输出&&算数运算
python----输入输出&&算数运算
55 0
|
5月前
|
Python
刷题——Python篇(1)输入输出
刷题——Python篇(1)输入输出
170 2
|
6月前
|
Python
Python中的输入输出
【4月更文挑战第2天】,在Python编程中,`input()`函数用于获取用户输入,如`input("提示")`,并返回字符串。`print()`函数则负责输出,如`print("文本")`,默认以空格分隔多个值,结束符为换行。可以通过`sep`和`end`参数自定义分隔符和结束符。`sys.argv`和`argparse`模块用于处理命令行参数。
55 1
Python中的输入输出
|
6月前
|
Java 编译器 C语言
python基础语法——常量、变量、注释、输入输出和运算符
本文基于pycharm编译器,也可以使用Anaconda 里的编译器,将讲解一些python的一些基础语法知识。可以和我写的python数据分析——Python语言基础(语法基础)结合起来看,有些知识点可能在这篇文章写的不是很全面
54 0
|
6月前
|
Python
[Python] 如何在控制台进行输入输出
[Python] 如何在控制台进行输入输出
82 0
|
6月前
|
Python
【Python指南 | 第八篇】自定义函数、输入输出,这一篇就够了
【Python指南 | 第八篇】自定义函数、输入输出,这一篇就够了
145 0
|
人工智能 算法 Java
ACM模式之输入输出(Java/Python例题)
ACM模式之输入输出(Java/Python例题)
271 0
ACM模式之输入输出(Java/Python例题)
|
11月前
|
前端开发 C语言 Python
Python 教程之输入输出(10)—— 输出格式
Python 教程之输入输出(10)—— 输出格式
85 0
|
11月前
|
IDE 前端开发 Linux
Python 教程之输入输出(9)—— print() 中的 sep 参数
Python 教程之输入输出(9)—— print() 中的 sep 参数
212 0