【Python】基础知识之文件操作(上篇)

发布于:2024-08-14 ⋅ 阅读:(128) ⋅ 点赞:(0)

在这里插入图片描述


个人主页:【😊个人主页】
系列专栏:【❤️Python】



前言

在Python编程过程中,程序与文件之间的互动是必不可少的,当我们需要从文件中取得某些数据或者修改某些数据的时候,就需要掌握文件操作的相关命令了。今天就让我们了掌握如何在Python环境下进行文件操作。想了解更多Python内容请订阅内容【Python系列教程】


输出(print)

在Python中,print() 函数用于在屏幕上输出信息。它可以输出字符串、数字、列表、元组、字典等几乎任何数据类型,并且可以将多个项目一起输出,通过逗号分隔它们,print() 函数会自动在它们之间添加空格。此外,你还可以通过设置 sep 和 end 参数来自定义分隔符和行尾字符。

print("Hello, World!")  
# 输出: Hello, World!  
  
print(123)  
# 输出: 123  
  
print(1, 2, 3)  
# 输出: 1 2 3  
  
# 使用变量  
name = "Alice"  
age = 30  
print(name, "is", age, "years old.")  
# 输出: Alice is 30 years old.

输入(input,raw_input)

input

在Python中,输入通常通过input()函数实现。这个函数允许程序暂停执行,等待用户输入一些文本,然后将该文本作为字符串返回。如果需要将输入的文本转换为其他数据类型(如整数、浮点数等),则需要使用相应的类型转换函数(如int()、float()等)。

# 获取用户输入的文本  
user_input = input("请输入一些文本: ")  
print("你输入的是:", user_input)  
  
# 获取用户输入的整数  
number = int(input("请输入一个整数: "))  
print("你输入的是:", number)  
  
# 获取用户输入的浮点数  
float_number = float(input("请输入一个浮点数: "))  
print("你输入的是:", float_number)

raw_input

在Python 2中,raw_input() 函数用于从用户那里获取一行输入,并将其作为一个字符串返回。这个函数不会解析输入的字符串作为Python表达式,而是直接返回用户输入的原始字符串。这是与用户进行交互的一种基本方式。

# Python 2 示例  
user_input = raw_input("请输入一些内容: ")  
print("你输入了:", user_input)

但是,需要注意的是,从Python 3开始,raw_input() 函数已经被重命名为 input()。在Python 3中,input() 函数的行为与Python 2中的raw_input() 相同,即它读取用户的输入并将其作为字符串返回。


文件操作

打开和关闭文件

##在Python中,open函数是用于打开一个文件,并返回一个文件对象。这个文件对象可以被用来读取或写入文件。open函数的基本语法如下:

python
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

但是,在实际使用中,我们通常只需要指定file(文件名或文件路径)和mode(打开模式)这两个参数。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

参数说明

  • file: 文件名(可以是相对路径或绝对路径)或文件路径对象(在较新的Python版本中支持)。
  • mode: 打开文件的模式。默认为’r’,表示文本读取模式。常见的模式还有’w’(写入模式,文件不存在则创建,存在则覆盖)、‘a’(追加模式,写入的数据会被追加到文件末尾)、‘b’(二进制模式,可与其他模式结合使用,如’rb’或’wb’)、‘+’(读写模式,如’r+'表示可读可写)等。
  • buffering: 设置缓冲策略。默认为-1,表示使用默认的缓冲策略。
  • encoding: 用于解码或编码文件的编码方式。默认为系统默认编码(如’utf-8’在某些系统上)。
  • errors: 指定编码和解码错误的处理方式。默认为’strict’,表示遇到编码或解码错误时会抛出异常。
  • newline: 控制文件的行结束符。默认为None,表示使用平台默认的行结束符(如Windows上的\r\n,
    Unix/Linux上的\n)。
    closefd: 如果文件描述符是传递给opener的,则closefd必须为False,否则Python将在file对象被关闭时也会关闭文件描述符(仅适用于Unix/Linux)。
    opener: 一个可调用的对象,用于打开文件,如os.open。默认情况下,将使用内置的open()函数。
读取文件
python
with open('example.txt', 'r') as file:  
    content = file.read()  
    print(content)
写入文件
python
with open('example.txt', 'w') as file:  
    file.write('Hello, Python!')
追加到文件
python
with open('example.txt', 'a') as file:  
    file.write('\nAnother line.')
```读取和写入二进制文件
python
# 写入二进制数据  
with open('image.png', 'wb') as file:  
    file.write(b'\x89PNG\r\n\x1a\n...')  `
# 读取二进制数据  
with open('image.png', 'rb') as file:  
    binary_data = file.read()

使用with语句可以确保文件在操作完成后会被正确关闭,即使在读取或写入文件时发生了异常也是如此。这是一种更安全、更简洁的文件操作方式。
在这里插入图片描述