1.行遍历实现 在python中如果要将一个文件完全加载到内存中,通过file.readlines()即可,但是在文件占用较高时,我们是无法完整的将文件加载到内存中的,这时候就需要用到python的file.readline()进行迭代式的逐行读取: filename='hello.txt' withopen(filename,'r')asfile: line=file.readline() counts=1 whileline: ifcounts>=50000000: break line=file.readline() counts+=1 这里我们的实现方式是先用一个with语...

  oELtfgAoDdFJ   8天前   25   0   0 Python

关于Python中的私有属性和私有方法 Python对于类的成员没有严格的访问控制限制,这与其他面相对对象语言有区别。关于私有属性和私有方法,有如下要点: 1、通常我们约定,两个下划线开头的属性是私有的(private)。其他为公共的(public);2、类内部可以访问私有属性(方法);3、类外部不能直接访问私有属性(方法);4、类外部可以通过_类名__私有属性(方法)名访问私有属性(方法) 定义私有属性/方法 classDemo: __price=25.8 def__init__(self,u_name,u_age): self.uname=u_name self.__uage=u_age...

  oELtfgAoDdFJ   13天前   22   0   0 Python

在Python中,迭代器是一种非常好用的数据结构,其最大的优势就是延迟生成,按需使用,从而大大提高程序的运行效率。而itertools作为Python的内置模块,就为我们提供了一套非常有用的用于操作可迭代对象的函数。 常用功能 1.count功能详解 count(start=0,step=1)函数有两个参数,其中step是默认参数,可选的,默认值为1。该函数返回一个新的迭代器,从start开始,返回以step为步长的均匀间隔的值。 importitertools x=itertools.count(1,2) forkinx: print(k,end=",") 输出结果如下无穷无尽 1,3,...

  oELtfgAoDdFJ   19天前   26   0   0 Python

1.标准库参考:shutil.rmtree。 根据设计,rmtree在包含只读文件的文件夹树上失败。如果要删除文件夹,不管它是否包含只读文件,请使用 importshutil shutil.rmtree('/folder_name',ignore_errors=True) 2.从os.walk()上的python文档中: Deleteeverythingreachablefromthedirectorynamedin'top', assumingtherearenosymboliclinks. CAUTION:Thisisdangerous!Forexample,iftop'/',it c...

  oELtfgAoDdFJ   2024年02月29日   65   0   0 Python

主要介绍python和shell变量互相传递方法,使用了环境变量、管道等方法。 python->shell: 1.环境变量 importos var=123或var='123' os.environ['var']=str(var)environ的键值必须是字符串 os.system('echo$var') 2.字符串连接 importos path='/root/a.txt' var=[1] var='bash' os.system('echo'+path)注意echo后有空格 os.system('echo'+str(var[0])) os.system('echo'+var+'...

  oELtfgAoDdFJ   2024年02月22日   33   0   0 Python

1、__new__和__init__ 两者的区别: __new__是在实例创建之前被调用的,因为它的任务就是创建实例然后返回该实例对象,是个静态方法。 __init__是当实例对象创建完成后被调用的,然后设置对象属性的一些初始值,通常用在初始化一个类实例的时候。是一个实例方法。 也就是:__new__先被调用,__init__后被调用,__new__的返回值(实例)将传递给__init__方法的第一个参数,然后__init__给这个实例设置一些参数; 说明: 继承自object的新式类才有__new__ __new__至少要有一个参数cls,代表当前类,此参数在实例化时由Python解释...

  oELtfgAoDdFJ   2024年01月18日   14   0   0 Python

关于break/continue这两个关键字在平常的使用过程中一直比较迷糊。好不容易理解了吧,过段时间不使用好像忘记了什么。这个问题也是很多初学者比较容易提及的问题。 先通过一个简单的单层循环来了解一下这两个关键字的使用。 print('=单层循环使用=') forninrange(10): ifn9: print('退出当前循环,当前n=',n) break elifn4: print('跳过当前循环,当前n=',n) continue print('当前n=',n) 下面是执行以后的结果展示。 当前n=0 当前n=1 当前n=2 当前n=3 跳过当前循环,当前n=4 当前...

  oELtfgAoDdFJ   2024年01月13日   29   0   0 Python

pickle模块可以实现任意的Python对象转换为一系列字节(即序列化对象)的算法。这些字节流可以被传输或存储,接着也可以重构为—个和原先对象具有相同特征的新对象。 注意: pickle的文档清晰的表明它不提供安全保证。实际上,反序列化后可以执行任意代码,所以慎用 pickle来作为内部进程通信或者数据存储,也不要相信那些你不能验证安全性的数据。 hmac模块,它提供了—个以安全方式验证序列化数据源的示例。 字符串的编码和解码 第一个示例是使用dumps()将一个数据结构编码为一个字符串,然后将其输出到控制台。它使用内置类型组成的数据结构,其实任何类的实例都可以被序列化,如后面的例子所示...

  oELtfgAoDdFJ   2024年01月09日   13   0   0 Python

random.random random.random()用于生成一个0到1的随机符点数:0<=n<1.0 random.uniform random.uniform(a,b),用于生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限。 如果a>b,则生成的随机数n:a<=n<=b。如果a<b,则b<=n<=a代码如下: print(random.uniform(10,20)) print(random.uniform(20,10)) 18.7356606526 12.5798298022 random.randint rando...

  oELtfgAoDdFJ   2023年12月28日   13   0   0 Python

isdigit 字符串的isdigit方法用于判断字符串是否只包含数字,即0-9的字符 print('1233'.isdigit())True print('12.33'.isdigit())False    isnumeric 字符串的isnumeric方法可用于判断字符串是否是数字,数字包括Unicode数字,byte数字(单字节),全角数字(双字节),罗马数字 print('23'.isnumeric())True print('五十五'.isnumeric())True print('Ⅵ'.isnumeric())True print("12345".isnumeric())True...

  oELtfgAoDdFJ   2023年12月12日   15   0   0 Python

重复的操作令手工测试苦不堪言,于是自动化测试出现了!作为web应用里最出名的自动化测试工具,selenium让web应用的测试轻松了很多。今天我们就来简单的介绍一下一些简单的selenium浏览器操作。接下来我们就来看看python怎么操作浏览器的吧! 1、打开指定的网页地址 我们使用selenium进行自动化测试时,打开浏览器之后,第一步就是让浏览器访问我们指定的地址,可使用get方法实现 fromseleniumimportwebdriver driver=webdriver.Edge() driver.get('https://www.baidu.com/')本行用于访问指定的地址 2...

  oELtfgAoDdFJ   2023年12月08日   19   0   0 Python

当你使用一个不存在的键(key)去访问一个Python字典(dict)时,会触发一个KeyError异常。这是Python提供的一种机制,用于指示你正在尝试访问一个字典中不存在的键。 以下是一个简单的示例,演示了当使用一个不存在的键去访问字典时会发生的情况: my_dict={"apple":3,"banana":6,"orange":2} print(my_dict["apple"])输出:3 print(my_dict["grape"])引发KeyError异常 在上面的代码中,my_dict是一个包含一些水果及其数量的字典。第一个打印语句使用一个存在的键"apple"去访问字典中的值...

  oELtfgAoDdFJ   2023年12月04日   16   0   0 Python

Python还提供了许多其他用于数据处理和转换的内置函数和模块。以下是一些常用的数据处理函数和模块: sorted sorted(iterable,key=func,reverse=False)用于对可迭代对象进行排序。你可以指定一个可选的key函数来自定义排序规则,以及一个可选的reverse参数来控制升序或降序排序。 示例:按长度对字符串列表进行排序 words=["apple","banana","cherry","date"] sorted_words=sorted(words,key=len) sorted_words现在包含["date","apple","cherry","ban...

  oELtfgAoDdFJ   2023年12月01日   16   0   0 Python

1.输入日期,判断这一天是这一年的第几天 importdatetime defday_of_year(): year=eval(input('请输入年份:')) month=eval(input('请输入月份:')) day=eval(input('请输入天:')) date1=datetime.date(year,month,day) date2=datetime.date(year,1,1) return(date1date2).days+1 2.打乱一个排好序的alist=[1,3,5,7,9] importrandom alist=[1,3,5,7,9] random.shuf...

  oELtfgAoDdFJ   2023年11月19日   11   0   0 Python

赋值表达式(assignmentexpression)是Python3.8新引入的语法,它会用到海象操作符(walrusoperator)。 这种写法可以解决某些持续已久的代码重复问题。a=b是一条普通的赋值语句,读作aequalsb,而a:=b则是赋值表达式,读作awalrusb。 这个符号为什么叫walrus呢?因为把:=顺时针旋转90º之后,冒号就是海象的一双眼睛,等号就是它的一对獠牙。这种表达式很有用,可以在普通的赋值语句无法应用的场合实现赋值,例如可以用在条件表达式的if语句里面。 赋值表达式的值,就是赋给海象操作符左侧那个标识符的值。 举个例子 students=["小明","小红...

  oELtfgAoDdFJ   2023年11月17日   18   0   0 Python

使用脚本进行下载的需求很常见,可以是常规文件、web页面、AmazonS3和其他资源。Python提供了很多模块从web下载文件。下面介绍 一、使用requests requests模块是模仿网页请求的形式从一个URL下载文件 示例代码: importrequests url='xxxxxxxx'目标下载链接 r=requests.get(url)发送请求 保存 withopen('r.txt','rb')asf: f.write(r.content) f.close 二、使用wget 安装wget库 pipinstallwget 示例代码 importwget url='https:...

  oELtfgAoDdFJ   2023年11月12日   83   0   0 Python

列表和元祖、字典为空、数字0、布尔False、空字符串》if判断为False x=() ifx: print(x) print('不为空') else: print(x) print('空') 输出: () 空 注意: x={}这里的类型为空字典 x={1,2,3,4}这里的类型为set集合 列表和元祖、字典不为空、数字非零、布尔True、非空字符串》if判断为True x=1 print(type(x)) ifx: print(x) print('不为空') else: print(x) print('空') 输出: <class'int'> 1 不为空 平时工作中...

  oELtfgAoDdFJ   2023年11月06日   30   0   0 Python

用python添加参数都是用的input函数,不能添加默认值也不能输入help提示。 最近发现了2个更好用的库分享给大家。 一、使用input库。 这个使用很简单,就不过多描述了。 deftest(a,b): print(f"{a}+{b}="+str(int(a)+int(b))) if__name__'__main__': a=input("inputa:") b=input("inputb:") test(a,b) 实际调用: 二、使用argparse库。 argparse是python自带库,不用额外安装。 这个库定义参数麻烦,使用起来简单。 importargparse par...

  oELtfgAoDdFJ   2023年11月02日   31   0   0 Python

对于日常开发者来讲很少会使用到本章节的内容,但是对框架作者等是必备知识,同时也是高频的面试常见问题。 1.线程安全 线程安全是多线程或多进程编程中的一个概念,在拥有共享数据的多条线程并行执行的程序中,线程安全的代码会通过同步机制保证各个线程都可以正常且正确的执行,不会出现数据污染等意外情况。 线程安全的问题最主要还是由线程切换导致的,比如一个房间(进程)中有10颗糖(资源),除此之外还有3个小人(1个主线程、2个子线程),当小人A吃了3颗糖后被系统强制进行休息时他认为还剩下7颗糖,而当小人B工作后又吃掉了3颗糖,那么当小人A重新上岗时会认为糖还剩下7颗,但是实际上只有4颗了。 上述例子中线程A...

  oELtfgAoDdFJ   2023年11月02日   19   0   0 Python

List是Python中常用的数据类型,它一个有序集合,即其中的元素始终保持着初始时的定义的顺序(除非你对它们进行排序或其他修改操作)。 在Python中,向List添加元素,方法有如下4种方法(append(),extend(),insert(),+加号) 1.append()追加单个元素到List的尾部,只接受一个参数,参数可以是任何数据类型,被追加的元素在List中保持着原结构类型。 此元素如果是一个list,那么这个list将作为一个整体进行追加,注意append()和extend()的区别。 list1=['a','b'] list1.append('c') list1 ['a','...

  oELtfgAoDdFJ   2023年11月02日   47   0   0 Python
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~