专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »Python » python教程:简明 Python 教程 -- 第12章 输入/输出 »正文

python教程:简明 Python 教程 -- 第12章 输入/输出

来源: 发布时间:星期四, 2009年1月8日 浏览:35次 评论:0
  在很多时候你会想要让你和用户(可能是你自己)交互你会从用户那里得到输入然后打印些结果我们可以分别使用raw_input和pr语句来完成这些功能对于输出你也可以使用多种多样str(串)类例如你能够使用rjust思路方法来得到个按定宽度右对齐利用help(str)获得更多详情

  另个常用输入/输出类型是处理文件创建、读和写文件能力是许多所必需我们将会在这章探索如何实现这些功能

  文件

  你可以通过创建个file类对象来打开个文件分别使用file类read、readline或write思路方法来恰当地读写文件对文件读写能力依赖于你在打开文件时指定模式最后当你完成对文件操作时候close思路方法来告诉Python我们完成了对文件使用

  使用文件

  例12.1 使用文件

#!/usr/bin/python
# Filename: using_file.py
poem = '''
Programming is fun
When the work is done
you wanna make your work also fun:
    use Python!
'''
f = file('poem.txt', 'w') # open for 'w'riting
f.write(poem) # write text to file
f.close # close the file
f = file('poem.txt')
# no mode is specied, 'r'ead mode is assumed by default
while True:
  line = f.readline
   len(line) 0: # Zero length indicates EOF
    
  pr line,
  # Notice comma to avoid automatic line added by Python
f.close # close the file
  (源文件:code/using_file.py)

  输出

$ python using_file.py
Programming is fun
When the work is done
you wanna make your work also fun:
    use Python!
  它如何工作

  首先我们通过指明我们希望打开文件和模式来创建个file类例子模式可以为读模式('r')、写模式('w')或追加模式('a')事实上还有多得多模式可以使用你可以使用help(file)来了解它们详情

  我们首先用写模式打开文件然后使用file类write思路方法来写文件最后我们用close关闭这个文件

  接下来我们再次打开同个文件来读文件如果我们没有指定模式读模式会作为默认模式个循环中我们使用readline思路方法读文件这个思路方法返回包括行末换行符个完整行所以个 空 串被返回时候即表示文件末已经到达了于是我们停止循环

  注意从文件读到内容已经以换行符结尾所以我们在pr语句上使用逗号来消除自动换行最后我们用close关闭这个文件

  现在来看下poem.txt文件内容来验证确实工作正常了

  储存器

  Python提供个标准模块称为pickle使用它你可以在个文件中储存任何Python对象的后你又可以把它完整无缺地取出来这被称为 持久地 储存对象

  还有另个模块称为cPickle功能和pickle模块完全相同只不过它是用C语言编写因此要快得多(比pickle快1000倍)你可以使用它们中而我们在这里将使用cPickle模块记住我们把这两个模块都简称为pickle模块

  储存和取储存

  例12.2 储存和取储存

#!/usr/bin/python
# Filename: pickling.py
import cPickle as p
#import pickle as p
shoplistfile = 'shoplist.data'
# the name of the file where we will store the object
shoplist = ['apple', 'mango', 'carrot']
# Write to the file
f = file(shoplistfile, 'w')
p.dump(shoplist, f) # dump the object to a file
f.close
del shoplist # remove the shoplist
# Read back from the storage
f = file(shoplistfile)
storedlist = p.load(f)
pr storedlist
  (源文件:code/pickling.py)



  输出

$ python pickling.py
['apple', 'mango', 'carrot']
  它如何工作

  首先请注意我们使用了import..as语法这是种便利思路方法以便于我们可以使用更短模块名称在这个例子中它还让我们能够通过简单地改变行就切换到另个模块(cPickle或者pickle)!在其余部分时候我们简单地把这个模块称为p

  为了在文件里储存个对象首先以写模式打开个file对象然后储存器模块dump把对象储存到打开文件中这个过程称为 储存

  接下来我们使用pickle模块load返回来取回对象这个过程称为 取储存

  概括

  我们已经讨论了多种类型输入/输出及文件处理和使用储存器模块

  接下来我们将探索异常概念



相关文章

读者评论

  • 共0条 分0页

发表评论

  • 昵称:
  • 内容: