Python数据的输入与输出
Python是一种高级编程语言,它支持多种输入输出方式,包括标准输入输出、文件输入输出等。本文将从以下几个方面详细阐述Python数据的输入与输出。
一、标准输入输出
Python中的标准输入和标准输出指的是控制台输入输出。标准输入可以使用input()函数进行输入,该函数会返回用户输入的字符串。标准输出可以使用print()函数进行输出,该函数可以同时输出多个参数并使用分隔符分隔。
def input_output(): # 标准输入 name = input("请输入您的姓名:") age = int(input("请输入您的年龄:")) # 标准输出 print("您的姓名是", name) print("您的年龄是", age) input_output()
该代码会先从控制台读取用户输入的姓名和年龄,再将其输出到控制台。
二、文件输入输出
Python中的文件输入输出方式可以使用open()函数打开文件,使用read()和write()函数读写文件。open()函数可以指定文件名、打开方式(读、写、追加等)、编码方式等参数。
当我们需要读取文本文件时,可以使用以下代码:
def read_file(): file = open("test.txt", mode='r', encoding='utf-8') content = file.read() print(content) file.close() read_file()
该代码会打开名为“test.txt”的文件,使用“utf-8”编码方式读取文件内容,并将其输出到控制台。
当我们需要将数据写入文件时,可以使用以下代码:
def write_file(): file = open("test.txt", mode='w', encoding='utf-8') file.write("hello world") file.close() write_file()
该代码会打开名为“test.txt”的文件,使用“utf-8”编码方式写入“hello world”,并保存到文件中。
三、JSON数据输入输出
JSON是一种常用的数据格式,Python提供了json模块,可以方便地将JSON格式的数据转换为Python对象,并且可以将Python对象转换为JSON格式的数据。
当我们需要从JSON格式的数据中读取数据时,可以使用以下代码:
import json def read_json(): json_data = '{"name": "Tom", "age": 20}' data = json.loads(json_data) print(data["name"]) print(data["age"]) read_json()
该代码会将JSON格式的数据“{"name": "Tom", "age": 20}”转换为Python字典对象,并输出其中的姓名和年龄。
当我们需要将Python对象转换为JSON格式的数据时,可以使用以下代码:
import json def write_json(): data = {"name": "Tom", "age": 20} json_data = json.dumps(data) print(json_data) write_json()
该代码会将Python字典对象“{"name": "Tom", "age": 20}”转换为JSON格式的数据,并输出到控制台。
四、CSV数据输入输出
CSV是一种常用的数据格式,Python提供了csv模块用于读写CSV格式的文件。
当我们需要从CSV文件中读取数据时,可以使用以下代码:
import csv def read_csv(): with open('testdata.csv', newline='', encoding='utf-8') as csvfile: reader = csv.DictReader(csvfile) for row in reader: print(row['name'], row['age']) read_csv()
该代码会打开名为“testdata.csv”的文件,使用“utf-8”编码方式读取文件内容,并将姓名和年龄输出到控制台。
当我们需要将数据写入CSV文件时,可以使用以下代码:
import csv def write_csv(): with open('testdata.csv', mode='w', newline='', encoding='utf-8') as csvfile: fieldnames = ['name', 'age'] writer = csv.DictWriter(csvfile, fieldnames=fieldnames) writer.writeheader() writer.writerow({'name': 'Tom', 'age': 20}) writer.writerow({'name': 'Jerry', 'age': 22}) write_csv()
该代码会打开名为“testdata.csv”的文件,使用“utf-8”编码方式写入头部字段“name”和“age”,并将“Tom”和“Jerry”的姓名和年龄写入文件中。