python快速编程入门电子书,python快速编程入门课本

大家好,本文将围绕python快速编程入门课后答案第二版展开说明,python编程快速上手 pdf百度云是一个很多人都想弄明白的事情,想搞清楚python编程快速上手 第2版 pdf需要先了解以下几个事情。

大家好,本文将围绕learn python the hard way (笨办法学python)展开说明,笨办法学python 3电子书下载是一个很多人都想弄明白的事情,想搞清楚笨办法学python3进阶篇下载需要先了解以下几个事情。

“笨办法”学Python 3基础篇系列文章

“笨办法”学Python 3基础篇 第一部分-打印与输入 “笨办法“学Python 3基础篇 第二部分-文件操作“笨办法“学Python 3基础篇 第三部分-函数“笨办法”学Python 3基础篇 第四部分-数据容器与程序结构“笨办法”学Python 3基础篇 第五部分-面向对象的类“笨办法”学Python 3基础篇 第六部分-项目骨架与自动测试“笨办法”学Python 3基础篇 第七部分-搭建简易的网站

第二部分 文件操作

“笨办法”学Python 3基础篇系列文章引言2.1 获取文件名 - import argv 用法2.2 打开文件 - open 用法 2.2.1 读取文档 - read 用法2.2.2 读取文档 - readline 用法2.2.3 任意位置读取 - seek 用法2.2.4 编辑文档 - write 用法2.3 copy文件 - open、read、write 综合用法小结

引言

上一篇学习总结中,我们接触了简单的打印和输入命令。本篇将介绍通过引用import, 实现对文件进行基本读写操作的方法Python流星雨特效代码:简单实现梦幻星空。

2.1 获取文件名 - import argv 用法

在这里,终于接触到了所谓的引用(import)。不同于C++,Python通过import可以借用其他程序包(程序模块)中的部分功能,而避免了复制大段的代码,增加了灵活性、可调用性和共享性。一种更直白的理解可以想象新建的Python脚本是一张白纸,我们通过import从A处借来了白色的颜料,从B处借来了黄色的颜料,然后绘画出了自己的作品。至于A处的红色和B处的黄色颜料是怎么生产出来的和我们这幅画没有关系。 import argv 中argv代表了参数变量,可以保证你在命令行运行Python脚本时获得传递给Python脚本的参数。试想一下,如果需要你用Python 读取 这个文档,你该怎么让Python脚本知道要打开哪个文档呢?这时就需要用argv 获取读取的文档名。 具体我们来看一下如何使用import argv 获取脚本参数,实现打印 Hello World!

from sys import argv

, greeting, somewhere = argv 

print(f"{greeting} {somewhere}") 

首先,Python从默认路径里的sys模块中引用了argv,脚本具备了获取命令行参数的能力,参数是以列表的数据格式返回给脚本。 第二行代码则是对获取的列表参数进行解包,将列表的第一个元素(通常为当前运行的脚本程序名)解包给变量,第二个元素解包给greeting变量,第三个元素解包给somewhere变量。第三行代码则是前文所介绍的格式化打印。 通过PowerShell运行时,需要在Python命令后输入三个参数,即待运行的脚本文件名(), 第二个参数(Hello)和第三个参数(World!)。 这种输入方式与input()的用法区别在于:input()给脚本输入参数是在脚本运行后,而argv则是在脚本运行时同时传递参数。

2.2 打开文件 - open 用法

既然我们可以通过import argv 来获得需要查看的文档的文档名,并解包给脚本中自定义的变量,那么接下来要解决的问题就是:如何利用该变量读写文档内容? 要读写文档,首先得打开文档。实现文档打开功能需要Python3内置函数 open

open() 函数用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError。 open() 函数常用形式是接收两个参数:文件名(file)和模式(mode)。 open(file, mode=‘r’) 完整的语法格式为: open(file, mode=‘r’, buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

open函数默认模式为只读,返回值为文件对象。因此,通过open函数可以得到待读取文件的对象,接下来就只需对该对象读操作即可。

2.2.1 读取文档 - read 用法

为了读取已经打开的文档内容,需要内置函数read

read() 方法用于从文件读取指定的字节数,如果未给定或为负则读取所有。 语法为:([size]); size – 从文件中读取的字节数,默认为 -1,表示读取整个文件。 返回从字符串中读取的字节。

根据read的语法,fileObject就是我们通过open函数返回的文件对象。这样,就可以通过import argv, open, read来实现文件内容的读取了。 我们以读取文档为例,文档内容为: Hello World! Hello China! 基本步骤如下:

import argv 获取的文件名open 获得的文件对象read 读取文档内容close 关闭文档,准备下次文档操作

from sys import argv

, filename = argv
txt = open(filename)

print("first read:", (12))
print("second read:", (1))
print("third read:", ())
txt.close()

代码第二行获取了文件的名,第三行用只读模式获得了文件对象,第四行代码则是读取了文件的前12个字节,第五行代码读取了文件的第13个字节换行符,第六行代码则是读取了文件的剩下所有字节数。最后一行代码调用了Python3内置函数close,实现文件的关闭。 从这个程序我们可以发现,连续读操作时,起始字节是从上一次读操作结束时的后一个字节开始的。因此,如果执行下面的读操作,则第二次对文件读操作时,将返回空字节。例如:

from sys import argv

, filename = argv
txt = open(filename)

print("first read:", ())
print("second read:", (12))
txt.close()

PowerShell中的运行效果为:

2.2.2 读取文档 - readline 用法

如果想一次读写一行字符串,包括换行符,那么就需要用到readline这个函数。基本语法为:

line(); 返回从字符串中读取的字节,默认为一行,当括号中有指定数字时,转化为从文件中读取多少字节,包括换行符。

因此,如果我们想读取中的Hello World!, 代码可以修改为:

from sys import argv

, filename = argv
txt = open(filename)

print(line())
txt.close()
2.2.3 任意位置读取 - seek 用法

通过上述两个例子,我们可以发现,读文件指针无法定位到任意位置,导致文档只能读取一遍,无法实现循环读取。解决这一问题的方法是使用seek函数,它的作用是移动文件读取指针到指定位置。基本语法为:

(offset[, whence]) offset – 开始的偏移量,也就是代表需要偏移的字节数,如果是负数表示从倒数第几位开始; whence – 可选,默认值为0。给offset定义一个参数,表示要从哪个位置开始偏移;0代表从文件开头开始算起,1代表从当前位置开始算起,2代表从文件末尾开始算起。 如果操作成功,返回新的文件位置,如果操作失败,则函数返回-1。

接下来,我们演示一下,如何循环读取的内容: Hello World! Hello China! Hello World! Hello China! 步骤为:

获取的文件名打开文件第一次读取文件打印重新设置文件读取指针到开头第二次读取文件打印关闭文件

在这一流程中,第一次使用read()读取所有字节后,读指针处于文件尾部。此时使用seek函数重设读指针位置,实现复读功能。具体代码为:

from sys import argv

, filename = argv
txt = open(filename)

first_data = ()
print(f"first read: \n{first_data}")

(0, 0)
second_data = ()
print(f"second read: \n{second_data}")

txt.close()

在PowerShell中验证结果为:

2.2.4 编辑文档 - write 用法

通过上两节read和readline的用法,我们熟悉了如何打开文档、读取文档的数据、关闭文档。本节我们通过write函数来实现 “如何重新编辑文档”。 编辑文档的基本流程为:

获取文件名用写模式打开文件对象( 自动清除文档中的内容)输入要编辑的语句写入文档关闭文档读取文档验证结果关闭文档

为此,我们重新编辑文档,将文档内容修改为: Hello everyone! 代码为:

from sys import argv

, filename = argv
txt = open(filename, 'w')

newline = input(">: ")
txt.write(newline + "\n")
txt.close()

txt = open(filename)
print("The new  is: ", ())
txt.close()

结果为:

2.3 copy文件 - open、read、write 综合用法

复制黏贴是最常用的文件操作方法。接下来,我们介绍如何综合使用前几节介绍的open、read、write函数实现将中的内容复制到一个新建文件中。 所需要的操作步骤:

获取(源文件)和(目标文件)文件名打开文件读取文件内容写模式打开写入hola,txt的文档内容关闭文件关闭文件

值得注意的是,在第4步时,如果不是一个已经存在的文件, 那么在打开时,Python会自动新建一个。具体的Python代码如下:

from sys import argv

, src_file, dir_file = argv

src = open(src_file)
data = ()

direct = open(dir_file, 'w')
direct.write(data)

direct.close()
src.close()

尽管在这个Python脚本中,我们没有使用print来打印结果。但可以在PowerShell中运行cat 来检查的内容是否正确,如图

小结

文件的操作还有很多用法,本文没有提及。主要原因是在本文所学书籍的练习中,这方面涉及的并不多。如果想进行更复杂的文件操作,可以在open函数中选择不同的读写模式实现。

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值