python基础知识(5)

python 文件I/O

  • 输出
print '内容'
  • 输入
    1、raw_input()
    //从标准输入读取一个行,并返回一个字符串(去掉结尾的换行符),若输入为python表达式,则会返回表达式原式而不是运算结果。
s=raw_input('Enter a number:')

2、input()
// input 可以接收一个Python表达式作为输入,并将运算结果返回。

s=input('Enter something:')
  • 打开文件
file object = open(file_name [, access_mode][, buffering])

    file_name:file_name变量是一个包含了你要访问的文件名称的字符串值。
    access_mode:access_mode决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读(r)。
    buffering:如果buffering的值被设为0,就不会有寄存。如果buffering的值取1,访问文件时会寄存行。如果将buffering的值设为大于1的整数,表明了这就是寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。
  • file 对象属性
  • file 对象方法
    1、close()
    // File 对象的 close()方法刷新缓冲区里任何还没写入的信息,并关闭该文件,这之后便不能再进行写入;当一个文件对象的引用被重新指定给另一个文件时,Python 会关闭之前的文件。用 close()方法关闭文件是一个很好的习惯。
文件名.close()

2、write()
//可将任何字符串写入一个打开的文件。需要重点注意的是,Python字符串可以是二进制数据,而不是仅仅是文字;write()方法不会在字符串的结尾添加换行符('\n')。

fo=open('文件名','w')
fo.write(需写入的字符串)
fo.close()

3、read()
//从一个打开的文件中读取一个字符串。需要重点注意的是,Python字符串可以是二进制数据,而不是仅仅是文字。在这里,被传递的参数是要从已打开文件中读取的字节计数。该方法从文件的开头开始读入,如果没有传入count,它会尝试尽可能多地读取更多的内容,很可能是直到文件的末尾。

文件名.read([需要读取的字节数])
  • 文件定位
    // tell()方法告诉你文件内的当前位置, 换句话说,下一次的读写会发生在文件开头这么多字节之后。
    seek(offset [,from])方法改变当前文件的位置。Offset变量表示要移动的字节数。From变量指定开始移动字节的参考位置。
    如果from被设为0,这意味着将文件的开头作为移动字节的参考位置。如果设为1,则使用当前的位置作为参考位置。如果它被设为2,那么该文件的末尾将作为参考位置。
文件名.tell():告诉文件内的当前位置
文件名.seek(要移动的字节数,开始移动字节的参考位置)
  • 重命名和删除文件
    1、rename()
import os
os.rename(当前文件名,新文件名)

2、remove(文件名)

import os
os.ramove(文件名)
  • python里的目录
    1、mkdir()
    //可以使用os模块的mkdir()方法在当前目录下创建新的目录们。
import os
os.mkdir(新目录名)

2、chdir()
//改变当前的目录.

import os
os.chdir(想要跳转到的目录名)

3、getcwd()
//显示当前的工作目录

import os
print os.getcwd()

4、rmdir()
//删除某个目录,目录的完全合规的名称必须被给出,否则会在当前目录下搜索该目录。

import os
os.rmdir(要删除的目录名)
  • 文件方法
    1、file.close():关闭文件,关闭后文件不能再进行读写操作;
    2、file.flush():刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件,而不是被动的等待输出缓冲区写入。
    3、file.fileno():返回一个整型的文件描述符,可以用在os模块的read方法等一些底层操作上。
    4、file.isatty():如果文件连接到一个终端设备返回 True,否则返回 False。
    5、file.next():返回文件下一行。
    6、file.read([size]):从文件读取指定的字节数,如果未给定或为负则读取所有。
    7、file.readline([size]):读取整行,包括'\n'字符。
    8、file.readlines([sizehint]):读取所有行并返回列表,若给定的sizehint>0,则表明一次读取多少行。
    9、file.seek[需要偏移的字节[,偏移初始位置]:设置文件当前位置。
    10、file.tell():返回文件当前位置。
    11、file.truncate([size]):截取文件,截取的字节通过size指定,默认为当前文件位置。
    12、file.write(str):将字符串写入文件,没有返回值。
    13、file.writelines(sequence):向文件写入一个字符串列表,如果需要换行则自己加入每行的换行符。

python 内置函数

  • abs()
    返回数字的绝对值
  • divmod()
    把除数和余数运算结果结合起来,返回一个包含商和余数的元组(a // b, a % b)
  • input()
    input() 和 raw_input() 这两个函数均能接收字符串 ,但 raw_input() 直接读取控制台的输入(任何类型的输入它都可以接收)。而对于 input() ,它希望能够读取一个合法的 python 表达式,即你输入字符串的时候必须使用引号将它括起来,否则它会引发一个 SyntaxError 。
    除非对 input() 有特别需要,否则一般情况下我们都是推荐使用 raw_input() 来与用户交互。
  • open()
    打开一个文件
  • staticmethod()
    返回函数的静态方法
  • all()
    用于判断给定的可迭代参数 iterable 中的所有元素是否都为 TRUE,如果是返回 True,否则返回 False。元素除了是 0、空、FALSE 外都算 TRUE。空元组、空列表返回值为True。
  • enumerate()
    将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
  • int()
    将一个字符串或数字转换为整型。
  • ord()
    chr() 函数(对于8位的ASCII字符串)或 unichr() 函数(对于Unicode对象)的配对函数,它以一个字符(长度为1的字符串)作为参数,返回对应的 ASCII 数值,或者 Unicode 数值,如果所给的 Unicode 字符超出了你的 Python 定义范围,则会引发一个 TypeError 的异常。
  • str()
    将对象转化为适于人阅读的形式。
  • any()
    判断给定的可迭代参数 iterable 是否全部为 False,则返回 False,如果有一个为 True,则返回 True。元素除了是 0、空、FALSE 外都算 TRUE。空元组、空列表返回值为False。
  • eval()
    用来执行一个字符串表达式,并返回表达式的值.
    //eval 方法能使字符串本身的引号去掉,保留字符的原本属性。
  • isinstance()
    判断一个对象是否是一个已知的类型,类似 type()。
    // isinstance() 与 type() 区别:
    type() 不会认为子类是一种父类类型,不考虑继承关系。
    isinstance() 会认为子类是一种父类类型,考虑继承关系。
    如果要判断两个类型是否相同推荐使用 isinstance()。
  • pow()
    返回 x^y(x的y次方) 的值。
对于内置pow():pow(x,y[,z])
对于math模块:pow(x,y)
函数是计算x的y次方,如果z在存在,则再对结果进行取模,其结果等效于pow(x,y) %z;
pow() 通过内置的方法直接调用,内置方法会把参数作为整型,而 math 模块则会把参数转换为 float。
pow(x,y)==x**y
pow(x,y[,z])==x**y%z
  • sum()
    对系列进行求和计算。
sum(iterable[,start])
iterable:可迭代对象,如:列表、元组、集合。
start:指定相加的参数,如果没有设置这个值,默认为0。
sum([1,2,3],2)=8
  • basestring()
    str 和 unicode 的超类(父类),也是抽象类,因此不能被调用和实例化,但可以被用来判断一个对象是否为 str 或者 unicode 的实例,isinstance(obj, basestring) 等价于 isinstance(obj, (str, unicode))。
  • execfile()
    执行文件内的内容
  • issubclass()
issubclass(class,classinfo)

如果 class 是 classinfo 的子类返回 True,否则返回 False。

  • print()
    打印输出
  • super()
    调用父类的一个方法
  • bin()
    返回一个整数(int)或者长整数(long int)的二进制形式.
bin(X)
  • file()
    创建一个file对象
  • iter()
    生成迭代器
  • property()
    在新式类中返回属性值。
  • tuple()
    将列表转换为元组
tuple(列表)

//对于字典则会返回由键名组成元组,对于元组则会返回本身。

  • bool()
    将给定参数转换为布尔类型,如果没有参数,返回 False。
    //bool是int的子类
  • filter()
filter(函数名,序列)

filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。
该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。

  • len()
    返回对象(字符、列表、元组等)长度或项目个数.
  • range()
range(开始,结束,间隔数)

//间隔数默认为1,开始位置默认为0,只含两个参数时,若后面一个参数小于前面一个参数,则返回 [ ]。
创建一个整数列表,一般用在 for 循环中.

  • type()
    如果你只有第一个参数则返回对象的类型,三个参数返回新的类型对象。
    // isinstance() 与 type() 区别:
    1、type() 不会认为子类是一种父类类型,不考虑继承关系。
    2、isinstance() 会认为子类是一种父类类型,考虑继承关系。
    如果要判断两个类型是否相同推荐使用 isinstance()。
  • bytearray()
    返回一个新字节数组。这个数组里的元素是可变的,并且每个元素的值范围: 0 <= x < 256。
  • float()
    将整数和字符串转换成浮点数。
  • list()
    将元组转化为列表
    //元组 ( ) 中的值无法修改,列表 [ ] 中的值可修改。
  • raw_input()
    用来获取控制台的输入,将所有输入作为字符串看待;input可以将输入的表达式进行运算。
    //raw_input与input后面括号内若给予字符串,则均需要加上 ' '。
  • unichr
    返回unicode的字符。
    //与之相对应的chr(),则根据所给的字符返回对应的ascii码(有一定的范围限制)。
  • callable()
    检查一个对象是否是可调用的。如果返回True,object仍然可能调用失败;但如果返回False,调用对象ojbect绝对不会成功。
    //对于函数, 方法, lambda 函式, 类, 以及实现了 call 方法的类实例, 它都返回 True。
  • format()
    增强了字符串格式化的功能。基本语法是通过 {} 和 : 来代替以前的 %;format 函数可以接受不限个参数,位置可以不按顺序。
  • locals()
    以字典类型返回当前位置的全部局部变量。对于函数, 方法, lambda 函式, 类, 以及实现了 call 方法的类实例, 它都返回 True。
  • reduce()
    对参数序列中元素进行累积。函数将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给 reduce 中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 function 函数运算,最后得到一个结果。
    //在 Python3 中,reduce() 函数已经被从全局名字空间里移除了,它现在被放置在 fucntools 模块里,如果想要使用它,则需要通过引入 functools 模块来调用 reduce() 函数。
  • chr()
    用一个范围在 range(256)内的(就是0~255)整数作参数,返回一个对应的字符。
    //chr(i)中的 i 既可以是十进制又可以是十六进制。
  • frozenset()
    返回一个冻结的集合,冻结后集合不能再添加或删除任何元素。
  • long()
    将数字或字符串转换为一个长整型。
long(x,base=10)
  • reload()
    重新载入之前载入的模块。
  • vars()
    返回对象object的属性和属性值的字典对象,如果没有参数,就打印当前调用位置的属性和属性值类似 locals()。
  • classmethod修饰符
    classmethod 修饰符对应的函数不需要实例化,不需要 self 参数,但第一个参数需要是表示自身类的 cls 参数,可以来调用类的属性,类的方法,实例化对象等。
  • getattr()
    返回一个对象属性值。
  • map()
    根据提供的函数对指定序列做映射。第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。
  • repr()
    将对象转化为供解释器读取的形式,返回一个对象的 string 格式。
  • xrange()
    用法与range()类似,只是生成的不是一个数组,而是一个生成器。
list(xrange(10))==range(10)
  • cmp()
    用于比较2个对象,如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1。
cmp(x,y)

//python3中使用的是operator模块

  • globals()
    以字典类型返回当前位置的全部全局变量;包括所有导入的变量。
  • max()
    返回给定参数的最大值,参数可以为序列。
  • reverse()
    该方法没有返回值,但是会对列表的元素进行反向排序。
  • zip()
    用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。
  • compile()
    将一个字符串编译为字节代码;返回表达式执行结果。
  • hasattr()
    用于判断对象是否包含对应的属性;如果对象有该属性返回 True,否则返回 False。
  • memoryview()
    返回给定参数的内存查看对象(Momory view)。所谓内存查看对象,是指对支持缓冲区协议的数据进行包装,在不需要复制对象基础上允许Python代码访问。
  • round()
    返回浮点数x的四舍五入值。
    //python2中是保留值将保留到离上一位更近的一端(四舍六入),如果距离两端一样远,则保留到离0远的一边。所以round(0.5)会近似到1,而round(-0.5)会近似到-1。
    python3中是如果距离两边一样远,会保留到偶数的一边。比如round(0.5)和round(-0.5)都会保留到0,而round(1.5)会保留到2。
  • __ import __()
    用于动态加载类和函数 。如果一个模块经常变化就可以使用 __ import __() 来动态载入
  • complex()
    用于创建一个值为 real + imag * j 的复数或者转化一个字符串或数为复数。如果第一个参数为字符串,则不需要指定第二个参数。
  • hash()
    获取取一个对象(字符串或者数值等)的哈希值。
    //函数可以应用于数字、字符串和对象,不能直接应用于 list、set、dictionary。在 hash() 对对象使用时,所得的结果不仅和对象的内容有关,还和对象的 id(),也就是内存地址有关。
  • min()
    返回给定参数的最小值,参数可以为序列;与max()相对应。比较时,从第一个字符开始,第一个相同,比较第二个,依次类推。
  • set()
    创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。
  • delattr()
    删除属性
delattr(对象,对象属性)
  • help()
    查看函数或模块用途的详细说明。
  • next()
    返回迭代器的下一个项目。
  • setattr()
    设置属性值,该属性必须存在。
  • dict()
    创建一个字典。
  • hex()
    将10进制整数转换成16进制,以字符串形式表示。
  • slice()
    实现切片对象,主要用在切片操作函数里的参数传递。
  • dir()
    不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。如果参数包含方法dir(),该方法将被调用。如果参数不包含dir(),该方法将最大限度地收集参数信息。
  • id()
    获取对象的内存地址。
  • oct()
    将一个整数转换成8进制字符串。
  • sorted()
    对所有可迭代的对象进行排序操作。
    // sort 与 sorted 区别:sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
  • exec()
    执行储存在字符串或文件中的Python语句,相比于 eval,exec可以执行更复杂的 Python 代码。exec 返回值永远为 None。
    //在 Python2 中exec不是函数,而是一个内置语句(statement),但是Python 2中有一个 execfile() 函数。可以理解为 Python 3 把 exec 这个 statement 和 execfile() 函数的功能够整合到一个新的 exec() 函数中去了。
    上一篇:python基础知识(4)
    下一篇:python基础知识(进阶篇--正则表达式)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342

推荐阅读更多精彩内容

  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,362评论 0 5
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,580评论 18 139
  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 13,727评论 0 38
  • 明知没意义,却无法不执着的事物——谁都有这样的存在。 前几天逛贴吧时看到了一个关于单恋的帖子,主题是说说你单恋的人...
    esme3104阅读 386评论 0 0
  • 今天我们在回家的路上看到了,文具店,突然想起今天要买闹钟,我和妈妈踏进的文具店。 买这个闹钟的原因,是因为我经常起...
    侦探迷阅读 263评论 0 1