09-python文件处理与输入输出

《python小白入门系列教程》 专栏 • 第09篇python

有些时候你的程序会与用户产生交互。举个例子,你会但愿获取用户的输入内容,并向用户 打印出一些返回的结果。咱们能够分别经过 input() 函数与print函数来实现这一需求。编程

对于输入,咱们还可使用 str (String,字符串)类的各类方法。例如,你可使用 rjust 方法来得到一个右对齐到指定宽度的字符串。你能够查看 help(str) 来了解更多细 节。函数

另外一个常见的输入输出类型是处理文件。建立、读取与写入文件对于不少程序来讲是必不可 少的功能,而咱们将在本章探讨这一方面。spa

用户输入内容

将如下程序保存为 io_input.py :code

def reverse(text): 
    return text[::-1] 
def is_backtext(text): 
    return text == reverse(text) 
something = input("请输入文字: ") 
if is_backtext(something): 
    print("是回文") 
else:
    print("不是回文")

输出:对象

python io_input.py
输入文字: abc
不是回文

咱们使用切片功能翻转文本。咱们已经了解了咱们能够经过使用 seq[a:b] 来从位置 a 开 始到位置 b 结束来对序列进行切片。咱们一样能够提供第三个参数来肯定切片的步长 (Step)。默认的步长为 1 ,它会返回一份连续的文本。若是给定一个负数步长,如 -1 , 将返回翻转过的文本。教程

input()函数能够接受一个字符串做为参数,并将其展现给用户。尔后它将等待用户输入内 容或敲击返回键。一旦用户输入了某些内容并敲下返回键, input() 函数将返回用户输入的 文本。事件

咱们得到文本并将其进行翻转。若是原文本与翻转后的文本相同,则判断这一文本是回文。utf-8

文件

你能够经过建立一个属于 file 类的对象并适当使用它的 read 、 readline 、 write 方法 来打开或使用文件,并对它们进行读取或写入。读取或写入文件的能力取决于你指定以何种 方式打开文件。最后,当你完成了文件,你能够调用 close 方法来告诉 Python 咱们已经完 成了对该文件的使用。字符串

案例(保存为 io_using_file.py ):

poem = '''编程是颇有趣的事件,
若是你想让你的工做也变得有趣的话:
使用Python!'''
# 打开文件以编辑('w'riting) 
f = open('poem.txt', 'w',encoding='utf-8')
# 向文件中编写文本 
f.write(poem)
# 关闭文件 
f.close()

输出:

python io_using_file.py
编程是颇有趣的事件,
若是你想让你的工做也变得有趣的话:
使用Python!

它是如何工做的

首先,咱们使用内置的 open 函数并指定文件名以及咱们所但愿使用的打开模式来打开一个 文件。

打开模式能够是阅读模式( ‘r’ ),写入模式( ‘w’ )和追加模式( ‘a’ )。

咱们还 能够选择是经过文本模式( ‘t’ )仍是二进制模式( ‘b’ )来读取、写入或追加文本。实际 上还有其它更多的模式可用, help(open) 会给你有关它们的更多细节。

在默认状况 下, open() 会将文件视做文本(text)文件,并以阅读(read)模式打开它

在咱们的案例中,咱们首先采用写入模式打开文件并使用文件对象的 write 方法来写入文 件,并在最后经过 close 关闭文件。

接下来,咱们从新在阅读模式下打开同一个文件。咱们不须要特别指定某种模式,由于“阅读 文本文件”是默认的。咱们在循环中使用 readline 方法来读取文件的每一行。这一方法将会 一串完整的行,其中在行末尾还包含了换行符。当一个空字符串返回时,它表示咱们已经到 达了文件末尾,而且经过 break 退出循环

最后,咱们最终经过 close 关闭了文件。如今,你能够检查 poem.txt 文件的内容来确认程序确实对该文件进行了写入与读取操做。

encoding=utf-8

当咱们阅读或写入某一文件或当咱们但愿与互联网上的其它计算机通讯时,咱们须要将咱们 的 Unicode 字符串转换至一个可以被发送和接收的格式,这个格式叫做==“UTF-8”==。咱们能够在 这一格式下进行读取与写入,只需使用一个简单的关键字参数到咱们的标准 open 函数中: encoding=‘utf-8’

Unicode 有“统一码”“万国码”“国际码”等多种译名。

image