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

版权声明:欢迎转载!如有纰漏之处,欢迎批评指正! https://blog.csdn.net/black_kyatu/article/details/81916427

用户输入输出
用户输入与输出函数为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)模式打开它。
打开方式
文件类的类方法

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

猜你喜欢

转载自blog.csdn.net/black_kyatu/article/details/81916427