nova-week2

2024-02-16 08:32
文章标签 week2 nova

本文主要是介绍nova-week2,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

基础知识

文件

概念

1.读写模式

  • r 只读模式,只能读取和输出
  • w只写模式(删除原文件,从头开始写)
  • a只写模式(不影响原内容,在内容的结尾开始追加内容)
  • wb只写模式+二进制数据操作
  • w+可读可写模式

文件I/O基础函数及模式很详细

2.不同类型文件写入

  • 图片(png或jpg)以’rb’模式写入
    python读取图片的方法
    读取及显示图片的详细方法
  • 文字(txt或log)以w+'模式写入
  • 视频(.mp4)以’rb’模式写入
    imageio和cv2读取视频文件
测验
a=[1,5,2,4,3]
a.sort()
with open(r'C:\Users\lenovo\Desktop\test.txt','a') as f:for arr in a:f.write(str(arr))f.close()
with open(r'C:\Users\lenovo\Desktop\test.txt','a+') as f:f.seek(0,0)b=f.read(-2)f.write(str(b[::-1]))f.close()

注:
1.文件地址中的’'需要被转义,用r''或'\\'解决
2.write()函数只能写入str类型
3.'a/a+'模式打开时光标在文档尾部,所以read读不出任何数据
4.seek(offset [,from])函数,Offset变量表示要移动的字节数。From变量指定开始移动字节的参考位置。
如果from被设为0,这意味着将文件的开头作为移动字节的参考位置。如果设为1,则使用当前的位置作为参考位置。如果它被设为2,那么该文件的末尾将作为参考位置。
5.反转字符串的常见方法
reversed()方法只能用于列表list,不能用于字符串
6.每次打开文件后,要记得用close()关闭

函数

概念

1.定义一个函数(菜鸟教程)
你可以定义一个由自己想要功能的函数,以下是简单的规则:

  • 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。
  • 任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
  • 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
  • 函数内容以冒号起始,并且缩进。
  • return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None
def functionname( parameters ):"函数_文档字符串"function_suitereturn [expression]

2.函数封装
把你的代码的某一部分隐藏起来,设定为私有引用,只留下少数的函数接口来实现对应的功能,可以起到降低复杂度和保护代码隐私的作用
3.变量作用域

  • 变量作用域是指变量能被访问的范围,由变量被定义的位置决定
  • 就作用域而言,Python与C有着很大的区别,在Python中并不是所有的语句块中都会产生作用域。只有当变量在Module(模块)、Class(类)、def(函数)中定义的时候,才会有作用域的概念。
  • 在作用域中定义的变量,一般只在作用域中有效。 需要注意的是:在if-elif-else、for-else、while、try-except\try-finally等关键字的语句块中并不会产成作用域。虽然是在if语句中定义的variable变量,但是在if语句外部仍然能够使用。
  • 搜索变量名的优先级:局部作用域L > 嵌套作用域E > 全局作用域G > 内置作用域B
测验
#将上面的题目代码封装成一个函数,调用两次,第二次调用为第一次调用结果文件
def test(file):a=[1,5,2,4,3]a.sort()with open(file,'a') as f:for arr in a:f.write(str(arr))f.close()with open(file,'a+') as f:f.seek(0,0)b=f.read(-2)f.write(str(b[::-1]))f.close()
if __name__=="__main__":test(r"C:\Users\lenovo\Desktop\test.txt")test(r"C:\Users\lenovo\Desktop\test.txt")

爬虫实践

任务:获取example.com的正文内容和more的链接地址

import requests
from lxml import etree
def get_html(url):"获取网站的html代码并将其用lxml初始化,并返回"Html=requests.get(url)html=etree.HTML(Html.text)return html
def get_text(html):"获取html的正文部,并写入文件"with open(r"C:\Users\lenovo\Desktop\test.txt",'w')as f:txt=html.xpath("//h1/text()|//p/text()|//p/a/text()")f.write("正文部分:\n")for t in txt:f.write(t)f.write('\n')f.close()
def get_link(html):"获取html中的链接地址,并写入文件"with open(r"C:\Users\lenovo\Desktop\test.txt",'a')as f:link=html.xpath("//p/a/@href")f.write("链接地址:\n")for l in link:f.write(l)f.close()
if __name__=="__main__":html=get_html('http://www.example.com')get_text(html)get_link(html)

运行结果:

正文部分:
Example Domain
This domain is established to be used for illustrative examples in documents. You may use thisdomain in examples without prior coordination or asking for permission.
More information...
链接地址:
http://www.iana.org/domains/example

注:
1.下载第三方库直接在pycharm里下载file->settings->project:untitled->interpreter
2.url问题:需要在"www"前加上"http://"
3.用requests爬取,etree和xpath处理html代码
4.requests获取的是element类型,通过html.text转化为byte类型再用etree.HTML处理
5.etree.xpath()方法需要用到xpath语法
xpath语法基础
6.etree.xpath()方法获得list类型数据
7.改变字符串的编码的函数:.decode()方法介绍_菜鸟教程
8.html里的换行是靠 < p> 实现的,而爬取的只是字符串,所以有换行在这里插入图片描述

这篇关于nova-week2的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/714026

相关文章

OpenStack Victoria版——6.2计算节点-Nova计算服务组件

6.2计算节点-Nova计算服务组件 更多步骤:OpenStack Victoria版安装部署系列教程 OpenStack部署系列文章 OpenStack Victoria版 安装部署系列教程 OpenStack Ussuri版 离线安装部署系列教程(全) OpenStack Train版 离线安装部署系列教程(全) 欢迎留言沟通,共同进步。 文章目录 Nova相关软件

OpenStack:Glance共享与上传、Nova操作选项解释、Cinder操作技巧

目录 Glance member task Nova lock shelve rescue Cinder manage local-attach transfer backup-export 总结 原作者:int32bit,参考内容 从2013年开始折腾OpenStack也有好几年的时间了。在使用过程中,我发现有很多很有用的操作,但是却很少被提及。这里我暂不直接

Machine Learning Week2

Matlab for MAC 下载 address:ClickHere Matlab for MAC 学习地址:ClickHere Multivariate Linear Regression 当有更多信息提供来预测时用multivariate linear regression : n: 有多少已知信息(feature) x^(i): 第i 个training example的已知信息

Nova Club Cointelegraph 酒会:以最别样的方式认识Etalonium

如果说最近有什么活动是惹人瞩目,大咖云集的话,那一定非即将举行的Nova Club & Cointelegraph联合酒会莫属。这场云集了一众世界名模,时尚翘楚,国际领航人,行业大咖的盛会必将成为诸多业内人士眼中的高光时刻。 【世链财经原创】 本次私密酒会将于8月21日晚上在北京举行,由Nova Club携手Cointelegraph,同时联合CBE与Biki共同举办。 具有全球影响力的知名区块链

可以根据手机的折叠状态改变播放音效:nova Flip 的妙趣音效

由于折叠机最基础的“可折叠”属性,导致折叠机的扬声器相对于人的位置来说会存在更多的变化,在不同的折叠状态下,听感方面可能就会大有不同。 nova Flip手机利用这一特性,首次根据折叠形态差异,自适应了不同形态的音效氛围。 展开态:当手机是类似于直板机的展开态时,搭配首发的histen9.3音频算法,nova Flip拥有更具清晰度和更自然的音质效果,打造更具还原度的音效体验。   悬

华为nova Flip这么轻薄的机身还能这么卷?

近年来,小折叠手机备受关注,随着各大厂商纷纷布局小折叠赛道,行业内卷现象也让小折叠的创新程度再上一个新的高度。而对拥有庞大的年轻用户基础的小折叠来说,简约大方的设计风格,轻薄小巧的精致外观,以及超大的电池容量仍然是大家选择一款小折叠的几个重要因素。 最新发布的华为nova Flip,就在6.88mm极致轻薄的厚度下,植入了4400mAh的大电池容量。那么,华为nova Flip究竟是如何做到

后置人像主题2.0首现nova Flip,前后置都超能打!

继华为nova12系列的前置人像美颜主题上线后,nova Flip小折叠手机,首次实现在后置自拍场景下,支持nova品牌人像主题2.0功能。 全新升级的华为达芬奇人像引擎 2.0,带来“形、质、色、光、画”智能人像优化,脸型立体,肤质细腻,肤色清透,明暗有致,虚化唯美自然,全面提升人像质感。后置原生、质感、妆感三种人像美颜主题,为用户提供三种不同的美颜质感。 原生主题:高清原相机质感,清爽

BaseCTF [Week2] 最简单的编码

前言:做题笔记。 下载解压 查壳。 64ida打开。 查找字符串。 跟进。 逆着向前看。 说明是密文。 里面是base64的变异加密。 原base64关键加密: (看BaseCTF week1  [第一周]BasePlus 官方WP) 变种后: 在此基础上加上了a4[]的值,而a4对应的是 v9(已知) 接着往上看。

深入浅出OpenStack云计算平台管理(nova-compute/network)

各位网友,我这里有套课程想和大家分享,是来自明义(robby)老师的一套关于云计算平台管理的课程, 需要的朋友可以加我qq和我联系。QQ2059055336.     1.1、 课程的背景       OpenStack是 一个由Rackspace发起、全球开发者共同参与的开源项目,旨在打造易于部署、功能丰富且易于扩展的云计算平台。OpenStack企图成为数据中心

Openstack -- nova-compute服务启动

1、/usr/bin/nova-compute #从nova模块导入/nova/cmd/compute main函数启动服务1 #!/usr/bin/python2 # PBR Generated from u'console_scripts'3 4 import sys5 6 from nova.cmd.compute import main7 8 9 if __name__ == "__m