Python 输入和输出.md

本文介绍了Python中处理输入和输出的方法,包括从用户获取输入、文件操作如使用open函数,以及Pickle模块用于序列化的功能。同时,还讨论了Unicode和UTF-8在处理文本数据时的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python 输入和输出

希望获取用户的输入内容,并向用户打印出一些返回的结果。
实现用户输入一段字符串,并向用户表打印出是否为回文。

def reverse(text):
    return text[::-1]

def is_palindrome(text):
    return text == reverse(text)

something = input("Enter text:")
if is_palindrome(something):
    print("yes,it is a palindrome")
else:
    print("no,it is not a palindrome")
文件

可以通过创建一个属于file的对象并适当使用它的read,readline,write方法来打开或者使用文件,并对它们进行读取和写入。

open函数

语法:

file object = open(file_name,[access_mode],[buffering])
模式描述
r只读模式,为默认模式,文件指针放在开头
rb只能以二进制模式读取,为默认模式,文件指针被放置在开头
r+读和写文件,文件指针被放置在开头
rb+用于读取和写入二进制格式的文件文件指针被置于开头
w打开一个文件只写,如果文件存在则覆盖现有文件,如果不存在则创建写入新文件
wb打开一个文件只能以二进制格式写入,文件存在则覆盖现有文件,不存在创建写入新文件
w+用于读取和写入文件,文件存在则覆盖现有文件,不存在则创建新文件
wb+打开用于写入和读取二进制格式的文件,文件存在则覆盖现有文件,不存在则创建新文件
a打开用于追加的文件,文件指针是在该文件的末尾,则为追加模式,如果该文件不存在他会创造用于写入的新文件
ab打开文件用于二进制格式追加,文件指针是在该文件的末尾,则为追加模式,如果该文件不存在他会创造用于写入的新文件
a+打开文件用于读取和追加,文件指针是在该文件的末尾,则为追加模式,如果该文件不存在他会创造用于读写操作的新文件
ab+打开用于读取和追加的二进制格式的文件,文件指针是在该文件的末尾,则为追加模式,如果该文件不存在他会创造用于读写的新文件

写入一个文件,读取每一行,并打印出来

poem = '''\
Programing is fun 
When the work is done
if you wanna make your work also fun:
    use python
'''

f = open('poem.txt','w')
f.write(poem)
f.close()
f = open('poem.txt')
while True:
    line = f.readline()

    if len(line) == 0:
        break

    print(line,end='')

f.close()
Pickle

可以通过pickle将任何纯python对象储存到一个文件中,并在稍后将其取回。

import pickle
shoplistfile = 'shoplist.data'

shoplist = ['apple','mango','carrot']
f = open(shoplistfile,'wb')
pickle.dump(shoplist,f)
f.close()

del shoplist

f = open(shoplistfile,'rb')

storedlist = pickle.load(f)

print(storedlist)

要想将一个对象存储到一个文件中,首先需要通过open以写入二进制模式打开文件,然后再调用pickle模块中的dump函数。

Unicode

当我们阅读或写入某一文件或当我们希望与互联网上的其它计算机通信时,我们需要将我们
的 Unicode 字符串转换至一个能够被发送和接收的格式,这个格式叫作“UTF-8”。

import io
f = io.open("a.txt","wt",encoding="utf-8")
f.write(u"Imagine non-English language here")
f.close()
text = io.open("a.txt",encoding="utf-8").read()
print(text)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值