博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python按行输出文件内容具体解释及延伸
阅读量:5989 次
发布时间:2019-06-20

本文共 1092 字,大约阅读时间需要 3 分钟。

下面两端測试代码分别为笔者所写,第一段为错误版本号。后者为正确版本号:

#! /usr/bin/python2.7

try:
    filename = raw_input(‘please input filename:’)

    for eachLine infilename:

         print(eachLine)
    eachLine.close()
except IOError as err:
    print(‘file open error: {0}’.format(err))

#! /usr/bin/python2.7

try:                                                                                                              //try....except--------为Python中的异常处理语句
    filename = raw_input(‘please input filename:’)                                 //读取字符
    fobj = open(filename, ‘r’)                                                                     //检測操作语句
    for eachLine in fobj:                                                                             //循环输出
        print(eachLine)
    fobj.close()                                                                                            //关闭对象句柄
except IOError as err:
    print(‘file open err:{0}’.format(err))

笔者自己的错误:

习惯性的觉得,创建了文件之后,就能够直接读取当中的数据。可是须要先检測文件是否存在,须要用到内建open()函数。

关于内建函数open():

handle = open(file_name,access_mode=’r’)
file_name 变量包括我们希望打开的文件的字符串名字。access_mode表示打开文件的方式,打开方式如表1,假设open成功。一个文件对象句柄会被返回。

全部兴许文件操作都必须通过此文件句柄进行。当一个文件对象返回之后,我们就能够訪问它的一些方法,eg. readlines(),close()。

         表1. 文件打开模式

a 追加模式打开
w 写模式打开
r 读模式打开
a+ 读写模式打开
w+ 读写模式打开
r+ 读写模式打开
ab 二进制追加模式打开
wb 二进制写模式打开
rb 二进制读模式打开
ab+ 二进制读写模式打开
wb+ 二进制读写模式打开
rb+ 二进制读写模式打开

Tips:

代码中一个有趣的语句。即print(eachLine)。

此语句中能够通过在末尾加入逗号的方式,抑制自己主动生成的换行符号,由于在文件里自带换行字符。假设我们不抑制print语句产生的换行符号。就会有额外的空行产生。

两种方式的执行结果对照图如图1。

图1.print语句两种方式执行结果对照图

你可能感兴趣的文章
从零玩转jQuery-事件处理
查看>>
mysql优化
查看>>
Kafka部署
查看>>
Django之路——10 django的分页组件
查看>>
JNI之路径初探---4
查看>>
ES6使用箭头函数注意点
查看>>
Distributed Systems-一致性协议背景介绍及Paxos算法的推导
查看>>
配置国内PIP源方法
查看>>
【转载】ASP.NET Core 依赖注入
查看>>
for(;;)和while(true)的区别
查看>>
MySql获取所有表名
查看>>
Python Logging库HTTPHandler的消息格式化的方法
查看>>
Java成神之路技术整理(长期更新)
查看>>
leetcode Set Matrix Zeroes
查看>>
vue项目实战 — — 那些自己给自己挖的深坑
查看>>
Alexa真的火了,多家硬件厂商“跪求”合作
查看>>
屌炸天,Oracle 发布了一个全栈虚拟机 GraalVM,支持 Python!
查看>>
业界 | GitHub、Glitch和社交编码的未来
查看>>
eclipse导入别的项目后发现jdk版本不一样,该如何解决呢?
查看>>
spring cloud 微服务日志跟踪 sleuth logback elk 整合
查看>>