首页 > 编程语言 >【笨方法学python】ex20 - 函数和文件

【笨方法学python】ex20 - 函数和文件

时间:2022-10-06 05:00:06浏览次数:58  
标签:文件 python current ex20 file print line readline 方法学

代码如下:

点击查看代码
# -*-coding:utf-8- -*-
# 函数和文件

from sys import argv

script, input_file = argv


def print_all(f):  # 定义 print_all 读 f
    print f.read()


def rewind(f):  # 定义 rewind / seek函数 / 位移文件指针
    f.seek(0)

# 使用 open() 函数打开文件并读取文件中的内容时,总是会从文件的第一个字符(字节)开始读起。那么,有没有办法可以自定指定读取的起始位置呢?答案是肯定,这就需要移动文件指针的位置。
# seek() 函数用于将文件指针移动至指定位置,该函数的语法格式如下:
# file.seek(offset[, whence])
#
# 其中,各个参数的含义如下: file:表示文件对象; whence:作为可选参数,用于指定文件指针要放置的位置,该参数的参数值有 3 个选择:0 代表文件头(默认值)、1 代表当前位置、2 代表文件尾。 offset:表示相对于
# whence 位置文件指针的偏移量,正数表示向后偏移,负数表示向前偏移。例如,当whence == 0 &&offset == 3(即 seek(3,0) ),表示文件指针移动至距离文件开头处 3 个字符的位置;当whence
# == 1 &&offset == 5(即 seek(5,1) ),表示文件指针向后移动,移动至距离当前位置 5 个字符处。 注意,当 offset 值非 0 时,Python 要求文件必须要以二进制格式打开,否则会抛出
# io.UnsupportedOperation 错误。


def print_a_line(line_count, f):  # 定义 print_a_line : 输出行数和该行内容
    print line_count, f.readline()

# Python 文件 readline() 方法用于从文件读取整行,包括 "\n" 字符。如果指定了一个非负数的参数,则返回指定大小的字符数,包括 "\n" 字符。 fileObject.readline([size]) size
# -- 从文件中读取的字符数。 原理:当执行readline() 时,code会扫描文件中的每一个字节,直到找到一个 \n 位置,然后停止并读取此前的文件内容。并且fileobject 会记录每次调用readline(
# )后的对于读取位置,这样readline()下次被调用的时候就会读取下一行。
# readline() 会移动光标至下一行开头


current_file = open(input_file)

print "First let's print the whole file:\n"

print_all(current_file)

print "Now let's rewind, kind of like a tape."

rewind(current_file)

print "Let's print three lines:"

current_line = 1
print_a_line(current_line, current_file)

current_line = current_line + 1
print_a_line(current_line, current_file)

current_line = current_line + 1
print_a_line(current_line, current_file)

fi = open(input_file)


新建 ex20 文件:
image

执行结果:
image

标签:文件,python,current,ex20,file,print,line,readline,方法学
From: https://www.cnblogs.com/TiramisuPS/p/16756945.html

相关文章

  • 【笨方法学python】ex19 - 函数和变量
    代码如下:点击查看代码#-*-coding:utf-8--*-#函数和变量defcheese_and_crackers(cheese_count,boxs_of_crackers): print"Youhave%dcheeses!"%cheese_cou......
  • python实验报告(第五周)
    一、实验目的和要求学会使用字符串的常用操作方法和正确应用正则表达式。二、实验环境软件版本:Python3.1064_bit三、实验过程1、实例1:使用字符串拼接输出一个关于程......
  • python字典
    字典的操作方法1.dict.get(key)根据键获取值,键不存在时返回默认值Nonedic={'a':1,'b':2}print(dic.get('a'))#输出为1print(dic.get('c'))#输出为None2.dict.......
  • Python:浮点数保留小数位数的方法整理
    示例print('%.2f'%1.255)#1.25print('{:.2f}'.format(1.2635))#1.26print(format(1.235,'.2f'))#1.24print(round(1.23456,2))#1.23参考Python保留......
  • 【WXSC】python自定义包
    沉淀自己的一些脚本和算法,托管在github或gitee上;使用的时候,直接pip安装即可,不用每次都去拷贝源码,修改源码1.构建一个本地包setup.py文件必须MANIFEST.in文件:可......
  • OpenCV-Python-C++ 全套视频详讲
    更多资料请关注公众号:计算机视觉与图形学实战​​2021OpenCV-C++课程实践(理论与实践)​​​​2021年OpenCV-Python从入门到实战全套课程(附带课程课件资料+课件笔记)​​​​......
  • C++/Python混合编程
    以C++为底层基础,Python作为上层建筑,共同搭建起高性能、易维护、可扩展的混合系统。Python本身就有C接口,可以用C语言编写扩展模块,把一些低效耗时的功能改用C实现......
  • Python语法之类和对象
    这篇文章给大家介绍一下类和对象,类和对象是面向对象编程的核心概念。Python中的类,和我们生活的“物以类聚”类似,都是包含了这一类别内都具备的一些特征。Python中的类是......
  • python基础知识回顾
    与用户交互关键字input('需要用户输入的内容')在python2中,需要自己定义input输入的数据类型,在python3统一处理为字符串print('打印的内容)print自带换行......
  • Python 使用smtplib、zmail或yagmail发送邮件
    Python中,可以使用通过代码方式发送邮件,本文主要介绍使用smtplib、zmail和yagmail三种方法发送邮件,以及相关的示例代码。原文地址:Python使用smtplib、zmail或yagmail发送......