PYDay6- 内置函数、验证码、文件操作

1、内置函数

1.1Python的内置函数

abs() dict() help() min() setattr()
all() dir() hex() next() slice()
any() divmod() id() object() sorted()
ascii() enumerate() input() oct() staticmethod()
bin() eval() int() open() str()
bool() exec() isinstance() ord() sum()
bytearray() filter() issubclass() pow() super()
bytes() float() iter() print() tuple()
callable() format() len() property() type()
chr() frozenset() list() range() vars()
classmethod() getattr() locals() repr() zip()
compile() globals() map() reversed() __import__()
complex() hasattr() max() round()  
delattr() hash() memoryview() set()

1.2一阶段需要掌握的函数

2、随机验证码函数:

import random
#assii:大写字母:65~90,小写 97~122 数字48-57
tmp = ""
for i in range(6):
    num =random.randrange(1,4)
    if num == 1:
        rad2 = random.randrange(0,10)
        tmp = tmp+str(rad2)
    elif num == 2:
        rad3 = random.randrange(97, 123)
        tmp = tmp + chr(rad3)
    else:
        rad1 = random.randrange(65,91)
        c = chr(rad1)
        tmp = tmp + c
print(tmp)

3、文件操作

使用open函数操作,该函数用于文件处理。

操作文件时,一般需要经历如下步骤:
打开文件
操作文件
关闭文件

3.1打开文件

open(文件名,模式,编码)eg:f = open("ha.log","a+",encoding="utf-8")注:默认打开模式r

3.2打开模式:

  基本模式:  

? r:只读模式(不可写)
? w:只写模式(不可读,不存在则创建,存在则清空内容(只要打开就清空))
? x:只写模式(不可读,不存在则创建,存在则报错)
? a:追加模式(不可读,不存在就创建,存在只追加内容)

  二进制模式:rb\wb\xb\ab

    特点:二进制打开,对文件的操作都需以二进制的方式进行操作

  对文件进行读写    

    • r+, 读写【可读,可写】
    • w+,写读【可读,可写】
    • x+ ,写读【可读,可写】
    • a+, 写读【可读,可写】

3.3 文件操作的方法

class TextIOWrapper(_TextIOBase):
    """
    Character and line based layer over a BufferedIOBase object, buffer.

    encoding gives the name of the encoding that the stream will be
    decoded or encoded with. It defaults to locale.getpreferredencoding(False).

    errors determines the strictness of encoding and decoding (see
    help(codecs.Codec) or the documentation for codecs.register) and
    defaults to "strict".

    newline controls how line endings are handled. It can be None, ‘‘,
    ‘\n‘, ‘\r‘, and ‘\r\n‘.  It works as follows:

    * On input, if newline is None, universal newlines mode is
      enabled. Lines in the input can end in ‘\n‘, ‘\r‘, or ‘\r\n‘, and
      these are translated into ‘\n‘ before being returned to the
      caller. If it is ‘‘, universal newline mode is enabled, but line
      endings are returned to the caller untranslated. If it has any of
      the other legal values, input lines are only terminated by the given
      string, and the line ending is returned to the caller untranslated.

    * On output, if newline is None, any ‘\n‘ characters written are
      translated to the system default line separator, os.linesep. If
      newline is ‘‘ or ‘\n‘, no translation takes place. If newline is any
      of the other legal values, any ‘\n‘ characters written are translated
      to the given string.

    If line_buffering is True, a call to flush is implied when a call to
    write contains a newline character.
    """
    def close(self, *args, **kwargs): # real signature unknown
        关闭文件
        pass

    def fileno(self, *args, **kwargs): # real signature unknown
        文件描述符
        pass

    def flush(self, *args, **kwargs): # real signature unknown
        刷新文件内部缓冲区
        pass

    def isatty(self, *args, **kwargs): # real signature unknown
        判断文件是否是同意tty设备
        pass

    def read(self, *args, **kwargs): # real signature unknown
        读取指定字节数据
        pass

    def readable(self, *args, **kwargs): # real signature unknown
        是否可读
        pass

    def readline(self, *args, **kwargs): # real signature unknown
        仅读取一行数据
        pass

    def seek(self, *args, **kwargs): # real signature unknown
        指定文件中指针位置
        pass

    def seekable(self, *args, **kwargs): # real signature unknown
        指针是否可操作
        pass

    def tell(self, *args, **kwargs): # real signature unknown
        获取指针位置
        pass

    def truncate(self, *args, **kwargs): # real signature unknown
        截断数据,仅保留指定之前数据
        pass

    def writable(self, *args, **kwargs): # real signature unknown
        是否可写
        pass

    def write(self, *args, **kwargs): # real signature unknown
        写内容
        pass

    def __getstate__(self, *args, **kwargs): # real signature unknown
        pass

    def __init__(self, *args, **kwargs): # real signature unknown
        pass

    @staticmethod # known case of __new__
    def __new__(*args, **kwargs): # real signature unknown
        """ Create and return a new object.  See help(type) for accurate signature. """
        pass

    def __next__(self, *args, **kwargs): # real signature unknown
        """ Implement next(self). """
        pass

    def __repr__(self, *args, **kwargs): # real signature unknown
        """ Return repr(self). """
        pass

    buffer = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default

    closed = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default

    encoding = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default

    errors = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default

    line_buffering = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default

    name = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default

    newlines = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default

    _CHUNK_SIZE = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default

    _finalizing = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default

3.x

3.4 管理上下文

使用open方法打开后要关闭文本。

with方法后,python会自动回收资源

py2.7以后的版本with方法支持同时对两个文件进行操作

eg:with open(‘log1‘) as obj1, open(‘log2‘) as obj2:

3.5 文件日常操作

open(文件名,模式,编码)
close()
flush():将内存中的文件数据写入磁盘
read():读取指针的内容
readline():只都一行内容
seek()定位指针位置
tell()获取当前指针位置
truncate() 截断数据,仅保留指定之前的数据,依赖于指针
write() 写入数据

3.6 文件操作示例代码

#!/usr/bin/env python
# -*- coding:utf-8 -*-

####基本操作方法
#默认是只读模式,默认编码方式:utf-8
# f = open(‘ha.log‘)
# data = f.read()
# f.close()
# print(data)
#只读,r
# f = open("ha.log","r")
# f.write("asdfs")
# f.close()
#只写,w  ---存在就清空,打开就清空
# f = open("ha1.log","w")
# f.write("Hello world!")
# f.close()
#只写 ,x
# f = open("ha2.log","x")
# f.write("Hello world1!")
# f.close()
#追加  a,不可读
# f = open("ha2.log","a")
# f.write("\nHello world! a mode")
# f.close()

### 字节的方式打开
## 默认读取到的都是字节,不用设置编码方式
## 1、 只读,rb
# f = open("ha.log","rb")
# data =f.read()
# f.close()
# print(type(data))
# print(data)
# print(str(data,encoding="utf-8"))

#2 只写,wb
# f = open("ha.log","wb")
# f.write(bytes("中国",encoding="utf-8"))
# f.close()

### r+ ,w+,x+,a+

#r+
# f = open("ha.log",‘r+‘,encoding="utf-8")
# print(f.tell())
# data = f.read()
# print(type(data),data)
# f.write("德国人")
# print(f.tell())
# data = f.read()
# f.close()

#w+  先清空,之后写入的可读,写后指针到最后
# f = open("ha.log","w+",encoding="utf-8")
# f.write("何莉莉")
# f.seek(0)  # 指针调到最后
# data = f.read()
# f.close()
# print(data)

#  x+  功能类似w+,区别:若文件存在即报错

#a +    打开的同时指针到最后
f = open("ha.log","a+",encoding="utf-8")
print(f.tell())
f.write("SB")
print(f.tell())
data = f.read()
print(data)
f.seek(0)
data = f.read()
print(data)
print(type(data))
print(type(f))
f.close()

文件操作示例

4、lambda表达式

  f1 = lambda x,y: 9+x

时间: 2024-10-25 11:56:48

PYDay6- 内置函数、验证码、文件操作的相关文章

老男孩学习 python 5 内置函数和文件操作

lambda 表达式: 内置函数: ABS:绝对值: ALL:循环参数,如果每个元素都为真,那么all的返回的值为真 ANY 只有一个真,则为真 ASCII ,利用对象中_repr_,获得返回值: INT: 将别的进制的数据转换十进制的数据: bin:将字符串转换成字节 bool  判断真假,把一个对象转换成布尔值 CHR:将10进制的数据转换成ASCII中的字母 ord:将ascii中的字符转换成十进制的字符 radmon 模块 random.randrange(1.8) 从1到8中生成随机数

Day03---集合,函数,三目运算,lambda表达式,内置函数,文件操作

第一节,集合    除了之前学过的数据类型,int,str,bool,list,dict,tuple,还有一个基本数据类型-集合,集合是一组无序,不重复的序列.由于这个特性,所以集合的元素也可以作为字典的键. 1.集合的创建 cast = set() #创建空集合 2.集合的操作 add()  #一次只能添加一个元素 update()  #一次能添加多个元素 clear()  #清空一个集合 copy()  #拷贝一个集合 difference() #比较两个集合,生成一个新的前面存在后面不存在

python5分钟,教你使用内置函数open来操作文件

使用内置函数open来操作文件有三步:打开文件,操作文件,关闭文件. open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None) file如果只写文件名,比如'file1.txt',则默认是当前路径,如果当前路径没有这个名字的文件,则报错,如果是其他目录的文件,则需要加上文件路径. mode有4种模式:'r'表示只读模式,'w'代表只写入模式(如果文

Python基础入门(三)深浅拷贝、函数、内置函数、文件处理、三元运算、递归

深浅拷贝 import copy copy.copy() #浅拷贝 copy.deepcopy() #深拷贝 num = 110 copynum = num #赋值 一.数字和字符串 对于 数字 和 字符串 而言,赋值.浅拷贝和深拷贝无意义,因为其永远指向同一个内存地址. 1 import copy 2 #定义变量 数字.字符串 3 n1 = 123 4 #n1 = 'nick' 5 print(id(n1)) 6 7 #赋值 8 n2 = n1 9 print(id(n2)) 10 11 #浅

python的内置排序方法+文件操作

li = [22,34,2,11] print (li) li.sort() print (li) 或者直接 new = sorted(li) print (new) 字符串和数字不能放在一起排序,全是数字按照数字大小排序.如果是字符串,分三类,数字优先于字母优先于中文,字符码排序,从前往后拍,最大位要是小就放在前面,如果相同比下面的一位. 文件操作: 一,打开文件 二,操作文件 三,关闭文件 open(文件名,模式,编码) 我创建了一个'ha.log'文件 f = open('ha.log')

01Python内置函数_集合操作类

basestring basestring() 说明:basestring是str和unicode的超类(父类),也是抽象类, 因此不能被调用和实例化,但可以被用来判断一个对象是否为str或者unicode的实例, isinstance(obj, basestring) 等价于isinstance(obj, (str, unicode)): 版本:python2.3版本以后引入该函数,兼容python2.3以后python2各版本. 注意:python3中舍弃了该函数,所以该函数不能在pytho

open()内置函数的一些操作

f = open('info2.txt','w',encoding='utf-8') #生成文件对象,赋值给f,然后去操作f,文件句柄, #由于windows的机制,默认GBK的格式得转换成utf-8 # 'r'是读一个文件.跟read / r+是可读写(打开读追加) w+是写读(创建文件再去写不常用) a+ 追加读 rb(以二进制去读文件) # 'w'是写,跟write 创建覆盖之前,冲掉之前的,要么读要么写一个文件. # 'a'追加.append,不会冲掉前面的内容,a没有读权限date =

python基础(5)---整型、字符串、列表、元组、字典内置方法和文件操作介绍

对于python而言,一切事物都是对象,对象是基于类创建的,对象继承了类的属性,方法等特性 1.int 首先,我们来查看下int包含了哪些函数 # python3.x dir(int) # ['__abs__', '__add__', '__and__', '__bool__', '__ceil__', '__class__', '__delattr__', '__dir__', '__divmod__', '__doc__', '__eq__', '__float__', '__floor__

利用PHP内置函数制作一个简单的验证码

因为这两天学习了一些PHP的内置函数,所以今天就用一些内置函数配合数组来简单的制作一个随机验证码的效果. 例如:2dT5     T22c.... 分析:首先分析验证码的组成: 1.验证码是由数字1-9,大写字母A-Z,小写字母a-z 中随机生成的. 2.我先创建一个包含指定范围单元的数组.(这里应该是三个:数字,大写字母,小写字母). 3.我可以将这些数组合并成一个大的数组 4.随机打乱该函数.ps:其实觉得在这里再做一步将数组随机打乱,感觉也没有什么必要啊!因为后面我们做的不也是随机抽取吗?

python内置函数中的 IO文件系列 open和os

本篇介绍 IO 中的 open 和 os基础用法. 本次用一个游戏登陆 基础界面做引子,来介绍. 实现存储的话,方式是很多的. 比如 存到字典 和列表了,可是字典.列表是临时的,玩网页游戏一次还是可以,如果要是一个反复要用到的一个软件的话,显然就不合适了,比较熟悉的介质有<文件>,对正在的程序来讲,用文件数存储据存到文件当中不是很好的选择.这里有数据库的概念. 本次用文件来存储. 本次内容实现 登陆 验证 登陆验证 形式,必须输入正确的用户名和密码,才可以登陆 一共验证三次.成功即运行程序