欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Python学习笔记(十)——输入与输出

程序员文章站 2024-03-22 22:00:52
...

用户输入输出
用户输入与输出函数为input()print()

  • input()函数接收字符串参数并输出在屏幕上,回传用户输入的字符串
  • print()函数负责格式输出

简单练习:写一段小程序判断输入的一句话是否是回文

punctuation = ['.', '?', '!', ':', ';', '-', '—',\
               '(', ')'
'[', ']', '"', '"', ' ', '/', '\\', ',', "'"]
string_in = input("input a string\n")
string = list(string_in)
for ch_in in string:
    if ch_in in punctuation:
        string.remove(ch_in)
string_re = list(string);
string.reverse()
print("reversed string is {0}".format("".join(string)))
if string_re == string:
    print('this is a palindrome')

文件输入与输出
可以通过创建一个属于 file 类的对象并适当使用它的 read 、 readline 、 write 方法
来打开或使用文件,并对它们进行读取或写入。读取或写入文件的能力取决于以何种方式打开文件。完成文件操作后,应调用 close 方法来告诉 Python 已经完成了对该文件的使用。
打开模式:阅读模式( ‘r’ ),写入模式( ‘w’ )和追加模式( ‘a’ )。还可以选择是通过文本模式( ‘t’ )还是二进制模式( ‘b’ )来读取、写入或追加文本。默认情况下, open() 会将文件视作文本(text)文件,并以阅读(read)模式打开它。
Python学习笔记(十)——输入与输出
文件类的类方法

  • file.readline ():可以用来读取文件的每一行。这一方法将会一串完整的行,其中在行末尾还包含了换行符。
  • file.read([size]):从文件读取指定的字节数,如果未给定或为负则读取所有。
  • file.next(): 返回文件下一行。
  • file.readlines([sizeint]):读取所有行并返回列表,若给定sizeint>0,返回总和大约为sizeint字节的行, 实际读取值可能比 sizeint 较大, 因为需要填充缓冲区。
  • file.write(str):将字符串写入文件,返回的是写入的字符长度。
  • file.seek(offset[, whence]):设置文件当前位置。offset : 开始的偏移量,也就是代表需要移动偏移的字节数。whence:可选,默认值为 0。给offset参数一个定义,表示要从哪个位置开始偏移;0代表从文件开头开始算起,1代表从当前位置开始算起,2代表从文件末尾算起。
  • file.writelines(sequence):向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符。
  • file.tell():返回文件当前位置。
  • file.truncate([size]):从文件的首行首字符开始截断,截断文件为 size 个字符,无size 表示从当前位置截断;截断之后后面的所有字符被删除,其中 Widnows 系统下的换行代表2个字符大小。
    示例代码:
poem = '''\
Programming is fun
When the work is done
if you wanna make your work also fun:
use Python!
'''
# 打开文件以编辑('w'riting)
f = open('poem.txt', 'w')
# 向文件中编写文本
f.write(poem)
# 关闭文件
f.close()
# 如果没有特别指定,
# 将假定启用默认的阅读('r'ead)模式
f = open('poem.txt')
while True:
    line = f.readline()
    # 零长度指示 EOF
    if len(line) == 0:
        break
# 每行(`line`)的末尾
# 都已经有了换行符
#因为它是从一个文件中进行读取的
print(line, end='')
# 关闭文件
f.close()

Pickle模块
Python 提供了 pickle 标准模块,通过它可以将任何纯 Python 对象存储到一个文件中,并在稍后将其取回。
示例

import pickle
# 存储相关对象的文件的名称
shoplistfile = 'shoplist.data'
# 需要购买的物品清单
shoplist = ['apple', 'mango', 'carrot']
# 准备写入文件
f = open(shoplistfile, 'wb')
# 转储对象至文件 
pickle.dump(shoplist, f) 
f.close()
# 清除shoplist 变量
del shoplist
# 重新打开存储文件
f = open(shoplistfile, 'rb')
# 从文件中载入对象
storedlist = pickle.load(f)
print(storedlist)