「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 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
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列表

相关推荐

  1. Python系列Python输入输出

    2024-02-22 11:16:04       59 阅读
  2. python输入输出特殊处理

    2024-02-22 11:16:04       39 阅读
  3. python笔记(17)输入输出

    2024-02-22 11:16:04       29 阅读
  4. Python输入输出流学习笔记

    2024-02-22 11:16:04       54 阅读
  5. 第九章 输入输出Python

    2024-02-22 11:16:04       26 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-22 11:16:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-22 11:16:04       100 阅读
  3. 在Django里面运行非项目文件

    2024-02-22 11:16:04       82 阅读
  4. Python语言-面向对象

    2024-02-22 11:16:04       91 阅读

热门阅读

  1. 喝点小酒-胡诌“编程语言学习”

    2024-02-22 11:16:04       46 阅读
  2. MySQL物理拷贝一张Innodb表的方法

    2024-02-22 11:16:04       42 阅读
  3. 记录 | 非root用户使用docker的方法

    2024-02-22 11:16:04       46 阅读
  4. 下拉框组件的封装(element ui )

    2024-02-22 11:16:04       49 阅读
  5. 通过傅里叶变换进行音频变声变调

    2024-02-22 11:16:04       50 阅读
  6. 关于Linux搭建DedeCMS说明

    2024-02-22 11:16:04       59 阅读
  7. 【二叉树】遍历及构造

    2024-02-22 11:16:04       46 阅读
  8. HBASE学习九:数据写入 -> BulkLoad

    2024-02-22 11:16:04       52 阅读
  9. 每天一个数据分析题(一百六十四)

    2024-02-22 11:16:04       53 阅读