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”的姓名和年龄写入文件中。