python里output是什么意思_Python入门系列:Input/Output

本文介绍了Python中的输入输出,包括从用户获取输入、检查回文、文件读写以及pickle模块用于对象持久化的操作。示例代码演示了input()、print()、文件读写以及pickle模块的使用。

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

引言

在一些场景中,你的程序需要与用户交互。例如你想接收用户的输入并打印一些结果作为反馈。我们已经分别通过input()和print()函数实现了这个过程。

在输出窗口,有时我们需要看到str(string)类的各种方法。例如你可以使用rjust方法获得一个指定宽度的右对齐的字符串,更多细节通过help(str)获得。

input/output另外一个常用的方式是对文件的操作。对于很多程序来说,创建、读取和写回文件是不可或缺的部分,下面的部分将向你展示这些应用。

Input from user

# user_input.py

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")

输出结果:

$ python user_input.py

Enter text: sir

No, it is not a palindrome

$ python user_input.py

Enter text: madam

Yes, it is a palindrome

$ python user_input.py

Enter text: racecar

Yes, it is a palindrome

执行过程:

我们使用slicing方式对字符串进行反转,在sequence部分,我们已经看到了如何通过使用seq[a:b]的方式进行slice操作来获得从a到b位置之间的元素。同时我们提供第三个参数用指定slice操作的步长。默认的步长是1用来返回原文本中的一段连续的内容。程序中我们指定步长为-1,从而获得了文本的反转形式(即实现文本的前后倒置)。

input()函数使用了一个字符串参数来提供用户输入,然后开始等待用户输入内容,并按下回车键,而input()函数就会返回用户刚刚输入的内容。我们接收用户输入的文本内容,并对之进行了反转。如果原文本与反转后的文本相同,那些原文本就是回文的(palindrome,正向和反向读取的内容相同)。

Files

你可以通过创建file对象来打开和使用文件,用于读取或写入内容,也可以使用合适的read, readline和write方法来对文件进行读取或者写入内容。最后,当你对文件操作完成后,你需要使用close方法告诉Python我们对文件使用已经结束。

下面的代码演示了file的简单用法:

# Filename: using_file.py

poem = '''\

Programming is fun

When the work is done

if you wanna make your work also fun:

use Python!

'''

f = open('poem.txt', 'w') # open for 'w'riting

f.write(poem) # write text to file

f.close() # close the file

f = open('poem.txt') # if no mode is specified, 'r'ead mode is assumed

by default

while True:

line = f.readline()

if len(line) == 0: # Zero length indicates EOF

break

print(line, end='')

f.close() # close the file

输出结果:

$ python using_file.py

Programming is fun

When the work is done

if you wanna make your work also fun:

use Python!

执行过程:

首先通过python内置的open函数打开文件,使用该方法时需要为其指定文件名称和打开的模式。python提供的可选的模式有:读('r'),写('w')和追加(append)('a')。同时我们也可以指定处理的文件是文本文件('t')或者二进制文件('b'),例open('poem.txt', 'wt')将以写模式打开名称为'poem.txt'的文本文件。事实上还有更多的模式使用,详细信息可以通过help(open)来获得。open()默认以读('r')模式以文本形式('t')打开文件。

在上面的例子中,我们首先以写文本模式打开文件,然后使用file对象的write方法对文件进行写入,然后使用close关闭文件。

然后我们以读模式再次打开文件。因为“读文本”模式是open的默认模式,所以我们不需要指定模式。我们在循环中通过readline依次读入每一行内容。readline方法会返回一个完整的行,其中包括该行末尾用来标示新行的字符。当返回的字符串为空(len(f.readline())==0)时,这就意思着我们已经到达了文件的末尾,从而跳出了循环。

默认情况下,print()函数会对输出的每一行结束后进行换行。我们可以通过指定end=' '使print不进行换行,因为从文件中读出的每一行中包含了一个换行符。最后我们关闭文件。

现在,你可以查看poem.txt文件的内容,确信程序的确对该文件进行了写操作和读操作。

Pickle

Python标准模块库中提供了一个用来存储把任何python对象存储到文件中,然后再恢复成python对象的模块,这个模块叫做pickle。我们把这种对对象的存储称为持久化(persistently)。

下面的代码演示了pickle的简单使用:

# Filename: pickling.py

import pickle

# the name of the file where we will store the object

shoplistfile = 'shoplist.data'

# the list of things to buy

shoplist = ['apple', 'mango', 'carrot']

# Write to the file

f = open(shoplistfile, 'wb')

pickle.dump(shoplist, f) # dump the object to a file

f.close()

del shoplist # destroy the shoplist variable

# Read back from the storage

f = open(shoplistfile, 'rb')

storedlist = pickle.load(f) # load the object from the file

print(storedlist)

输出结果:

$ python pickling.py

['apple', 'mango', 'carrot']

执行过程:

为了把对象保存到文件中,我们首先以"写二进制('wb')"的模式打开一个文件,然后调用pickle模块中的dump方法,我们称这个过程为pickling。然后我们通过执行pickle模块的load函数从文件中加载对象,我们称这个过程为unpickling。

说明:该文章从 A byte of Python v1.92 for Python3.0翻译而来,望指正

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2010-06-14 21:42

浏览 6233

评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值