python笔记

一、在python中互换两个变量的值与其他语言有很大的不同,具体做法是:

(x,y) = (1,2)

  (x,y) = (y,x)

这样x的值就变成了2,y的值就变成了1

二、用__name__指示模块是如何加载的

如果是导入的,__name__变量里包含的就是该模块的名字

如果是直接执行的,__name__变量里包含的就是‘__main__’

三、python一些比较明显的特征:

变量不必提前定义。

变量类型不必定义。

程序员不必关心内存管理。

变量名可以“回收使用”。

del语句允许明示性的收回使用中的变量。

四、如果我们只想从sys模块中导入exit()函数,其他东西都不要,就可以使用下面的语句替换程序中的语句:

from sys import exit

(但是我记得 有书上说不建议使用这种写法,因为这种方法容易引起命名空间混淆的问题)

经本人实践证明,此写法不可靠,在写代码时,写成import xml.dom.minidom不会产生错误,而写成from xml.dom import minidom就出现了错误!!!

四、汉字写入的问题

open(configpath,'a').write('<description>'+'\n'+name+'描述信息')

如果这样写入之后‘描述信息四个字会是乱码’,就在这个文件最开始处加上#coding=gbk,尤其注意不能在等号左右加上空格,加上空格会有错,导致最后写入的依旧是乱码

五、os.walk函数

函数声明:walk(top,topdown=True,οnerrοr=None)
1>参数top表示需要遍历的目录树的路径
2>参数topdown的默认值是"True",表示首先返回目录树下的文件,然后在遍历目录树的子目录.Topdown的值为"False"时,则表示先遍历目录树的子目录,返回子目录下的文件,最后返回根目录下的文件
3>
参数onerror的默认值是"None",表示忽略文件遍历时产生的错误.如果不为空,则提供一个自定义函数提示错误信息后继续遍历或抛出异常中止遍历
它返回的是一个元组tupple(dirpath, dirnames, filenames), 

其中第一个为起始路径,

第二个为起始路径下的文件夹,

第三个是起始路径下的文件.

dirpath是一个string,代表目录的路径,

dirnames是一个list,包含了dirpath下所有子目录的名字,即目录列表

filenames是一个list,包含了非目录文件的名字.这些名字不包含路径信息,如果需要得到全路径,需要使用 os.path.join(dirpath, name).

六、python -os模块属性

os 模块属性

linesep 用于在文件中分隔行的字符串
sep 用来分隔文件路径名的字符串
pathsep 用于分隔文件路径的字符串
curdir 当前工作目录的字符串名称
pardir (当前工作目录的)父目录字符串名称

os 模块的文件/目录访问函数

文件处理
mkfifo()/mknod() 创建命名管道/创建文件系统节点
remove()/unlink() 删除文件   os.remove()函数用来删除一个文件。
rename()/renames() 重命名文件  
*stat() 返回文件信息(包含stat(), lstat(), xstat())
symlink() 创建符号链接
utime() 更新时间戳
tmpfile() 创建并打开('w+b')一个新的临时文件
walk() 生成一个目录树下的所有文件名

目录/文件夹
chdir()/fchdir() 改变当前工作目录/通过一个文件描述符改变当前工作目录
chroot() 改变当前进程的根目录
listdir() 列出指定目录的文件   返回指定目录下的所有文件和目录名。 os.listdir(dirname):列出dirname下的目录和文件
getcwd()/getcwdu() 返回当前工作目录/功能相同, 但返回一个 Unicode 对象  os.getcwd()函数得到当前工作目录,即当前Python脚本工作的目录路径。
mkdir()/makedirs() 创建目录/创建多层目录
rmdir()/removedirs() 删除目录/删除多层目录

(如果想要删除一个含有许多文件的目录树,这时我们可以使用shutil模块提供的rmtree函数,如下所示:
  shutil.rmtree('mydir')

它相当于UNIX操作系统中的命令rm -rf mydir。 )

访问/权限
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, pathname) 元组
splitext() 返回 (filename, extension) 元组

信息
getatime() 返回最近访问时间
getctime() 返回文件创建时间
getmtime() 返回最近文件修改时间
getsize() 返回文件大小(以字节为单位)

查询
exists() 指定路径(文件或目录)是否存在
isabs() 指定路径是否为绝对路径
isdir() 指定路径是否存在且为一个目录
isfile() 指定路径是否存在且为一个文件
islink() 指定路径是否存在且为一个符号链接
ismount() 指定路径是否存在且为一个挂载点
samefile() 两个路径名是否指向同个文件
原文地址:http://zhangjunhd.blog.51cto.com/113473/453857

下面列举一些说明:
1. os.sep 可以取代操作系统特定的路径分割符。
2. os.name字符串指示你正在使用的平台。比
如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'。
3. os.getcwd()函数得到当前工作目录,即当前Python脚本工作的目录路径。
4. os.getenv()和os.putenv()函数分别用来读取和设置环境变量。
5. os.listdir()返回指定目录下的所有文件和目录名。
6. os.remove()函数用来删除一个文件。
7. os.system()函数用来运行shell命令。
8. os.linesep字符串给出当前平台使用的行终止符。例如,Windows使用'\r\n',Linux使用'\n'而Mac使用'\r'。
9. os.path.split()函数返回一个路径的目录名和文件名。
10. os.path.isfile()和os.path.isdir()函数分别检验给出的路径是一个文件还是目录。
11. os.path.existe()函数用来检验给出的路径是否真地存在

os和os.path模块
os.listdir(dirname):列出dirname下的目录和文件
os.getcwd():获得当前工作目录
os.curdir:返回但前目录('.')
os.chdir(dirname):改变工作目录到dirname

os.path.isdir(name):判断name是不是一个目录,name不是目录就返回false
os.path.isfile(name):判断name是不是一个文件,不存在name也返回false
os.path.islink(name) :判断name是不是一个符号链接
os.path.exists(name):判断是否存在文件或目录name
os.path.getsize(name):获得文件大小,如果name是目录返回0L
os.path.abspath(name):获得绝对路径
os.path.normpath(path):规范path字符串形式
os.path.split(name):分割文件名与目录(事实上,如果你完全使用目录,它也会将最后一个目录作为文件名而分离,同时它不会判断文件或目录是否存在)
os.path.splitext():分离文件名与扩展名
os.path.join(path,name):连接目录与文件名或目录
os.path.basename(path):返回文件名
os.path.dirname(path):返回文件路径 

六、路径反斜杠问题

如果是自己定义了一个类然后去调用,且有参数为路径形式的,在我们自己给参数赋值时要写两个反斜杠以免出现异常,比如\test,如果这样写的话肯定会出现问题,必须写成\\test。而在用python写的程序里传递参数时,比如A类调用B类的某个函数,此函数有一个参数是path,在A类中的某个函数可以得到一个path值,然后传递给B类的这个函数,他会自动写成两个反斜杠的路径,但如果你想看看A类的这个函数得到的路径值,想打印出来,打印出来的是一个反斜杠的路径。

所以要注意的是,只是在我们手动输入一个路径时,要写成:c:\\testcase\\test1这样的形式。

七、

python sys模块包含了与python解释器和它的环境有关的函数,这个你可以通过dir(sys)来查看他里面的方法和成员属性里面有个 sys.path属性。他是一个list,默认情况下导入文件或者模块的话,他会先在sys.path里找模块的路径。如果没有的话,程序就会报错。

所以我们一般自己写程序的话。最好把自己的模块路径给加到当前模块扫描的路径里,eg: sys.path.append('你的模块的名称'),这样程序就不会

因为找不到模块而报错。。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值