当前位置:  编程技术>python

从零学python系列之从文件读取和保存数据

    来源: 互联网  发布时间:2014-10-04

    本文导语:  在HeadFirstPython网站中下载所有文件,解压后以chapter 3中的“sketch.txt”为例:   新建IDLE会话,首先导入os模块,并将工作目录却换到包含文件“sketch.txt”的文件夹,如C:\Python33\HeadFirstPython\chapter3 代码如下:>>> import os>>> os.getcwd()...

在HeadFirstPython网站中下载所有文件,解压后以chapter 3中的“sketch.txt”为例:

 

新建IDLE会话,首先导入os模块,并将工作目录却换到包含文件“sketch.txt”的文件夹,如C:\Python33\HeadFirstPython\chapter3

代码如下:

>>> import os
>>> os.getcwd()    #查看当前工作目录
'C:\Python33'
>>> os.chdir('C:/Python33/HeadFirstPython/chapter3')   #切换包含数据文件的文件夹
>>> os.getcwd()     #查看切换后的工作目录
'C:\Python33\HeadFirstPython\chapter3'

打开文件“sketch.txt”,读取并显示前两行:

代码如下:

>>> data=open('sketch.txt')
>>> print(data.readline(),end='')
Man: Is this the right room for an argument?
>>> print(data.readline(),end='')
Other Man: I've told you once.

回到文件起始位置,使用for语句处理文件中的每行,最后关闭文件:

代码如下:

>>> data.seek(0)   #使用seek()方法回到文件起始位置
>>> for each_line in data:
    print(each_line,end='')

   
Man: Is this the right room for an argument?
Other Man: I've told you once.
Man: No you haven't!
Other Man: Yes I have.
Man: When?
Other Man: Just now.
Man: No you didn't!
Other Man: Yes I did!
Man: You didn't!
Other Man: I'm telling you, I did!
Man: You did not!
Other Man: Oh I'm sorry, is this a five minute argument, or the full half hour?
Man: Ah! (taking out his wallet and paying) Just the five minutes.
Other Man: Just the five minutes. Thank you.
Other Man: Anyway, I did.
Man: You most certainly did not!
Other Man: Now let's get one thing quite clear: I most definitely told you!
Man: Oh no you didn't!
Other Man: Oh yes I did!
Man: Oh no you didn't!
Other Man: Oh yes I did!
Man: Oh look, this isn't an argument!
(pause)
Other Man: Yes it is!
Man: No it isn't!
(pause)
Man: It's just contradiction!
Other Man: No it isn't!
Man: It IS!
Other Man: It is NOT!
Man: You just contradicted me!
Other Man: No I didn't!
Man: You DID!
Other Man: No no no!
Man: You did just then!
Other Man: Nonsense!
Man: (exasperated) Oh, this is futile!!
(pause)
Other Man: No it isn't!
Man: Yes it is!
>>> data.close()

读取文件后,将不同role对应数据分别保存到列表man和other:

代码如下:

import os
print(os.getcwd())
os.chdir('C:Python33HeadFirstPythonchapter3')
man=[]    #定义列表man接收Man的内容
other=[]  #定义列表other接收Other Man的内容

try:
    data=open("sketch.txt")
    for each_line in data:
        try:
            (role, line_spoken)=each_line.split(':', 1)
            line_spoken=line_spoken.strip()
            if role=='Man':
                man.append(line_spoken)
            elif role=='Other Man':
                other.append(line_spoken)
        except ValueError:
                pass
    data.close()
except IOError:
    print('The datafile is missing!')
print (man)
print (other)

Tips:

使用open()方法打开磁盘文件时,默认的访问模式为r,表示读,不需要特意指定;

要打开一个文件完成写,需要指定模式w,如data=open("sketch.txt","w"),如果该文件已经存在则会清空现有内容;

要追加到一个文件,需要指定模式a,不会清空现有内容;

要打开一个文件完成写和读,且不清空现有内容,需要指定模式w+;

 例如,将上例中保存的man和other内容以文件方式保存时,可修改如下:

代码如下:

import os
print(os.getcwd())
os.chdir('C:Python33HeadFirstPythonchapter3')
man=[]
other=[]

try:
    data=open("sketch.txt")
    for each_line in data:
        try:
            (role, line_spoken)=each_line.split(':', 1)
            line_spoken=line_spoken.strip()
            if role=='Man':
                man.append(line_spoken)
            elif role=='Other Man':
                other.append(line_spoken)
        except ValueError:
                pass
    data.close()
except IOError:
    print('The datafile is missing!')

try:
    man_file=open('man.txt', 'w')      #以w模式访问文件man.txt
    other_file=open('other.txt','w')   #以w模式访问文件other.txt
    print (man, file=man_file)           #将列表man的内容写到文件中
    print (other, file=other_file)
except IOError:
    print ('File error')
finally:
    man_file.close()
    other_file.close()

但是第26行print()为什么会报错?“syntax error while detecting tuple”,有大神能给解惑一下不


    
 
 

您可能感兴趣的文章:

  • python读取csv文件示例(python操作csv)
  • python读取浮点数和读取文本文件示例
  • python逐行读取文件内容的三种方法
  • python进阶教程之文本文件的读取和写入
  • python爬取网站数据保存使用的方法 iis7站长之家
  • Python采用raw_input读取输入值的方法
  • python读取注册表中值的方法
  • python读取Android permission文件
  • python通过ElementTree操作XML获取结点读取属性美化XML
  • Python读取图片EXIF信息类库介绍和使用实例
  • python读取html中指定元素生成excle文件示例
  • python实现保存网页到本地示例
  • python从ftp下载数据保存实例
  • python抓取豆瓣图片并自动保存示例学习
  • Python 分析Nginx访问日志并保存到MySQL数据库实例
  • python使用cookie库操保存cookie详解
  • python爬取网站数据保存使用的方法
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • python异常信息堆栈输出到日志文件
  • 使用python删除nginx缓存文件示例(python文件操作)
  • python读文件,写文件操作以及目录操作
  • 用python代码做configure文件
  • python遍历文件夹并删除特定格式文件的示例
  • Python引用(import)文件夹下的py文件的方法
  • python文件读写并使用mysql批量插入示例分享(python操作mysql)
  • python安装问题,rpm命令显是缺少库文件
  • 简单文件操作python 修改文件指定行的方法
  • python代码制作configure文件示例
  • Python文件操作类操作实例详解
  • python目录操作之python遍历文件夹后将结果存储为xml
  • python使用循环实现批量创建文件夹示例
  • python读写文件操作示例程序
  • python 改文件名等问题
  • python 获取文件列表(或是目录例表)
  • Python批量修改文件后缀的方法
  • Python生成pdf文件的方法
  • python使用os模块的os.walk遍历文件夹示例
  • 用python分割TXT文件成4K的TXT文件
  • python 查找文件夹下所有文件 实现代码
  • Python GUI编程:tkinter实现一个窗口并居中代码
  • 让python同时兼容python2和python3的8个技巧分享
  • Python不使用print而直接输出二进制字符串
  • 使用setup.py安装python包和卸载python包的方法
  • Python中实现json字符串和dict类型的互转
  • 不小心把linux自带的python卸载了,导致安装一个依赖原python的软件不能安装,请问该怎么办?
  • python下用os.execl执行centos下的系统时间同步命令ntpdate
  • Python开发者社区整站源码 Pythoner
  • Python namedtuple对象json序列化/反序列化及对象恢复
  • python基础教程之python消息摘要算法使用示例


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3