编辑:2023-08-14 17:00
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"的姓名和年龄写入文件中。