Python——追加学习笔记(二)

文件处理

# 文件内移动
seek()方法可以在文件中移动文件指针到不同的位置,offset字节代表相对于某个位置偏移量,默认为0,代表从文件开头算起,1代表从当前位置算起,2代表从文件末尾算起。
seek()经常用来重设文件位置指针。
eg.
>>> f.name
‘anaconda-ks.cfg‘
>>> f.next()
‘#version=DEVEL\n‘
>>> f.next()
‘# System authorization information\n‘
>>> f.seek(0)
>>> f.next()
‘#version=DEVEL\n‘

text()方法是对seek()方法的补充:他告诉你当前文件指针在文件中的位置——从文件起始算起,单位为字节。

# 其他
fileno()方法返回打开文件的描述符,这是一个整形,可以用在如os模块(os.read())的一些底层操作上。
eg.
>>> f = open(‘anaconda-ks.cfg‘, ‘r‘)
>>> print f.fileno()
3

flush()方法会直接把内部缓冲区的数据立刻写入文件,而不是被动地等待输出缓冲区被写入。一般用在文件关闭前刷新缓冲区。

isatty()是一个布尔内建函数,当文件是一个类tty设备是返回True,否则返回False。
eg.
>>> f.isatty()
False

truncate()方法将文件截取到当前文件指针位置或者到给定size,一字节为单位。可以清空文件。

## 换行符
print输出会在末尾自动增加一个换行符,而在语句之后增加一个逗号就可以避免这种行为。readline()和readlines()函数不会对行里的空白字符做任何处理,所以你有必要增加上逗号。如果省略逗号就会有两个换行符,其中一个是输入附带的,另外一个是print语句自动添加的。
eg.
>>> print ‘Hello World!‘;print ‘Yes, We Can!‘
Hello World!
Yes, We Can!
>>> print ‘Hello World!‘,;print ‘Yes, We Can!‘
Hello World! Yes, We Can!

## 文件内建属性
file.closed # 文件是否关闭
file.name  #文件名
file.mode   #打开文件的方式

## 文件操作
os.rename(old, new) #重命名
os.mkdir()  #创建文件夹
os.remove() #删除文件
os.chdir()  #切换文件夹
os.getcwd() #得到当前路径
os.rmdir()  #删除文件夹

补充:
* 文件处理
mkfifo()/mknod()  #创建命名管道/创建文件系统节点
remove()/unlink() #删除文件
rename()/renames() #重命名文件
*stat() [包括stat()、lstat()、xstat()] #返回文件信息
eg.
>>> import os
>>> os.system(‘ls‘)
anaconda-ks.cfg  fan  lustre-master.zip  test.log
0
>>> os.stat(‘anaconda-ks.cfg‘)
posix.stat_result(st_mode=33152, st_ino=9240863, st_dev=64768L, st_nlink=1, st_uid=0, st_gid=0, st_size=955, st_atime=1513158628, st_mtime=1509810306, st_ctime=1509810306)

symlink() #创建符号链接
utime() #更新时间戳
tmpfile()   #创建并打开(‘w+b’)一个新的临时文件
walk()  #生成一个目录树下的所有文件名

* 目录/文件夹
chdir()/fchdir() #改变当前目录/通过一个文件描述符改变当前工作目录
chroot #改变当前进程的根目录
listdir()   #列出指定目录的文件

* 访问/权限
access()    #检验权限模式
chmod()     #改变权限模式
chown()/lchown()      #改变owner和group ID/功能相同,但不会跟踪链接
umask()     #设置默认权限模式

* 文件描述符操作
open()      #底层的操作系统open(对于文件来说,使用标准的内建open()函数)
read()/write()      #根据文件描述符读取/写入数据
dup()/dup2()        #复制文件描述符/功能相同,但是是复制到另一个文件描述符

* 设备号
makedev()       #从major和minor设备号创建一个原始设备号
major()/minor()     #从原始设备号获得major/minor设备号

## os.path模块中的路径名访问函数

* 分割
basename()      #去掉目标路径,返回文件名
dirname()       #去掉文件名,返回目录路径
join()      #将分离的各部分组合成一个路径名
split()     #返回(dirname(),basename())元组
splitdrive()        #返回(drivename,pathnam)元组
splittext()     #返回(filename, extension)元组

* 信息
getatime()      #返回最近返问时间
getctime()      #返回文件创建时间
getmtime()      #返回文件最近修改时间
getsize()       #返回文件大小(以字节为单位)
eg.     >>> os.path.getsize(‘test.log‘)
48

* 查询
exists()    #指定路径(文件或者目录)是否存在
isabs()     #指定路径是否为绝对路径
isdir()     #指定路径是否存在且为一个目录
isfile()    #指定路径是否存在且为一个文件
islink()       #指定路径是否存在且为一个符号链接
ismount()       #指定路径是否存在且为一个挂载点
samefiel()      #两个路径名是否指向一个文件

eg. >>> os.path.exists(‘test.log‘)
True
>>> os.path.isfile(‘test.log‘)
True
>>> os.path.isdir(‘test.log‘)
False
>>> os.path.islink(‘test.log‘)
False
>>> os.system(‘cp test.log test01.log‘)
0
>>> os.system(‘ls‘)
anaconda-ks.cfg  fan  lustre-master.zip  test01.log  test.log
0
>>> os.path.samefile(‘test.log‘, ‘test01.log‘)
False

## 命令行参数
sys.argv 是命令行参数的列表
len(sys.argv)是命令行参数的个数
sys.argv[0]是程序的名称

## 相关模块
bz2         #访问BZ2格式的压缩文件
csv         #访问CSV文件
filecmp     #用于比较目录和文件
gzip/zlib   #读取GNU zip(gzip)文件(压缩需要zlib模块)
zipfile     #用于读取ZIP归档文件的工具

时间: 2024-11-09 00:14:03

Python——追加学习笔记(二)的相关文章

2. 蛤蟆Python脚本学习笔记二基本命令畅玩

2. 蛤蟆Python脚本学习笔记二基本命令畅玩 本篇名言:"成功源于发现细节,没有细节就没有机遇,留心细节意味着创造机遇.一件司空见惯的小事或许就可能是打开机遇宝库的钥匙!" 下班回家,咱先来看下一些常用的基本命令. 欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/48092873 1.  数字和表达式 看下图1一就能说明很多问题: 加法,整除,浮点除,取模,幂乘方等.是不是很直接也很粗暴. 关于上限,蛤蟆不太清楚

Python个人学习笔记二

一  线程简介 说道python线程,其封装和方法也比较多样,使用比较方便.目前主要的有三种方式. 1.1 方法一:通过使用thread模块中的函数创建新线程. 但是注意在3.4版本里面,该函数已经不再thread模块之中,若要引用需要导入 import _dummy_thread.其函数实现源码为: def start_new_thread(function, args, kwargs={}): """Dummy implementation of _thread.star

python之数据类型(学习笔记二)

python之数据类型(学习笔记二) 在Python中,能够直接处理的数据类型有以下几种: (1)整数 Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例 如: 1 , 100 , ‐8080 , 0 ,等等. 计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便,十六进制用 0x 前缀和0-9,a-f表示,例 如: 0xff00 , 0xa5b4c3d2 ,等等. (2)浮点数 浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时

Python学习笔记<二>:列表、元组、字典

1 列表和元组 可以将列表和元组当成普通的"数组",它能保存任意数量任意类型的Python 对象.和数组一样,通过从0 开始的数字索引访问元素,但是列表和元组可以存储不同类型的对象. 列表和元组有几处重要的区别.列表元素用中括号( [ ])包裹,元素的个数及元素的值可以改变.元组元素用小括号(( ))包裹,不可以更改(尽管他们的内容可以).元组可以看成是只读的列表.通过切片运算( [ ] 和 [ : ] )可以得到子集,这一点与字符串的使用方法一样. 举例如下: >>>

Linux System Programming 学习笔记(二) 文件I/O

1.每个Linux进程都有一个最大打开文件数,默认情况下,最大值是1024 文件描述符不仅可以引用普通文件,也可以引用套接字socket,目录,管道(everything is a file) 默认情况下,子进程会获得其父进程文件表的完整拷贝 2.打开文件 open系统调用必须包含 O_RDONLY,O_WRONLY,O_RDWR 三种存取模式之一 注意 O_NONBLOCK模式 int fd = open(filename, O_WRONLY | O_CREAT | O_TRUNC, 0644

[Python][MachineLeaning]Python Scikit-learn学习笔记1-Datasets&Estimators

Scikit-learn官网:http://scikit-learn.org/stable/index.html Datasets 标准的数据集格式为一组多维特征向量组成的集合.数据集的标准形状(shape)为二维数组(samples, features),其中samples表示数据集大小,features表示其中特征向量的维数. 使用时可使用shape方法查看数据集 >>> from sklearn import datasets >>> iris = dataset

Caliburn.Micro学习笔记(二)----Actions

Caliburn.Micro学习笔记(二)----Actions 上一篇已经简单说了一下引导类和简单的控件绑定 我的上一个例子里的button自动匹配到ViewModel事件你一定感觉很好玩吧 今天说一下它的Actions,看一下Caliburn.Micro给我们提供了多强大的支持 我们还是从做例子开始 demo的源码下载在文章的最后 例子1.无参数方法调用 点击button把textBox输入的文本弹出来 如果textbox里没有文本button不可点,看一下效果图 看一下前台代码 <Stac

小猪的数据结构学习笔记(二)

小猪的数据结构学习笔记(二) 线性表中的顺序表 本节引言: 在上个章节中,我们对数据结构与算法的相关概念进行了了解,知道数据结构的 逻辑结构与物理结构的区别,算法的特性以及设计要求;还学了如何去衡量一个算法 的好坏,以及时间复杂度的计算!在本节中我们将接触第一个数据结构--线性表; 而线性表有两种表现形式,分别是顺序表和链表;学好这一章很重要,是学习后面的基石; 这一节我们会重点学习下顺序表,在这里给大家一个忠告,学编程切忌眼高手低,看懂不代表自己 写得出来,给出的实现代码,自己要理解思路,自己

JavaScript--基于对象的脚本语言学习笔记(二)

第二部分:DOM编程 1.文档象模型(DOM)提供了访问结构化文档的一种方式,很多语言自己的DOM解析器. DOM解析器就是完成结构化文档和DOM树之间的转换关系. DOM解析器解析结构化文档:将磁盘上的结构化文档转换成内存中的DOM树 从DOM树输出结构化文档:将内存中的DOM树转换成磁盘上的结构化文档 2.DOM模型扩展了HTML元素,为几乎所有的HTML元素都新增了innerHTML属性,该属性代表该元素的"内容",即返回的某个元素的开始标签.结束标签之间的字符串内容(不包含其它