[笔记]python

配置python ```bash apt install python2.7 python3 apt install python-bs4 python3-bs4 apt install virtualenv apt install mysql-server mysqladmin -u root -p password mysql -u root -p ``` ##函数 (1)在Python中采用def关键字进行函数的定义,不用指定返回值的类型。

(2)函数参数params可以是零个、一个或者多个,同样的,函数参数也不用指定参数类型,因为在Python中变量都是弱类型的,Python会自动根据值来维护其类型。

(3)return语句是可选的,它可以在函数体内任何地方出现,表示函数调用执行到此结束;如果没有return语句,会自动返回NONE,如果有return语句,但是return后面没有接表达式或者值的话也是返回NONE。

(4)在函数定义之前,不允许调用该函数。

os模块

import os
help(os) #查看os模块帮助文档,里面详细的模块相关函数和使用方法
os.sep 取代操作系统特定的路径分隔符
os.getenv()
os.putenv()
os.stat()获得文件属性
os.chmod(文件,属性)
os.removedirs("c:\python")删除多个目录
os.exit()终止当前进程
os.linesep 平台终止符
os.curdir 返回'.'
os.isabs()判断是否为绝对路径
os.path.normalpath(path)规范path字符串形式
os.path.splitext()

文件操作:
os.mknod("hello.txt")
fp = open("hello.txt",w)直接打开一个文件,如果文件不存在就创建文件

关于open的模式

w 写方式
a 追加模式打开(从EOF开始,必要时创建新文件)
r+ 以读写模式打开
w+ 以读写模式打开
a+ 以读写模式打开
rb 以二进制读模式打开
wb 以二进制写模式打开 (参见 w )
ab 以二进制追加模式打开 (参见 a )
rb+ 以二进制读写模式打开 (参见 r+ )
wb+ 以二进制读写模式打开 (参见 w+ )
ab+ 以二进制读写模式打开 (参见 a+ )

关于文件的函数:

fp.read([size])size为读取的长度,以byte为单位

fp.readline([size]) 读一行,如果定义了size,有可能返回的只是一行的一部分

fp.readlines([size]) 把文件每一行作为一个list的一个成员,并返回这个list。其实它的内部是通过循环调用readline()来实现的。如果提供size参数,size是表示读取内容的总长,也就是说可能只读到文件的一部分。

fp.write(str) 把str写到文件中,write()并不会在str后加上一个换行符

fp.writelines(seq) 把seq的内容全部写到文件中(多行一次性写入)。这个函数也只是忠实地写入,不会在每行后面加上任何东西。

fp.close() 关闭文件。python会在一个文件不用后自动关闭文件,不过这一功能没有保证,最好还是养成自己关闭的习惯。 如果一个文件在关闭后还对其进行操作会产生ValueError

fp.flush() 把缓冲区的内容写入硬盘

fp.fileno() 返回一个长整型的”文件标签“

fp.isatty() 文件是否是一个终端设备文件(unix系统中的)

fp.tell() 返回文件操作标记的当前位置,以文件的开头为原点

fp.next() 返回下一行,并将文件操作标记位移到下一行。把一个file用于for … in file这样的语句时,就是调用next()函数来实现遍历的。

fp.seek(offset[,whence]) 将文件打操作标记移到offset的位置。这个offset一般是相对于文件的开头来计算的,一般为正数。但如果提供了whence参数就不一定了,whence可以为0表示从头开始计算,1表示以当前位置为原点计算。2表示以文件末尾为原点进行计算。需要注意,如果文件以a或a+的模式打开,每次进行写操作时,文件操作标记会自动返回到文件末尾。

fp.truncate([size]) 把文件裁成规定的大小,默认的是裁到当前文件操作标记的位置。如果size比文件的大小还要大,依据系统的不同可能是不改变文件,也可能是用0把文件补到相应的大小,也可能是以一些随机的内容加上去。
目录操作

os.mkdir("file") 创建目录

shutil模块:
复制文件:
shutil.copyfile("oldfile","newfile")

oldfile和newfile都只能是文件

shutil.copy("oldfile","newfile")
oldfile只能是文件夹,newfile可以是文件,也可以是目标目录

shutil.copytree("olddir","newdir")
复制文件夹.olddir和newdir都只能是目录,且newdir必须不存在

os.rename("oldname","newname")
重命名文件(目录).文件或目录都是使用这条命令

shutil.move("oldpos","newpos")
移动文件(目录)

os.rmdir("dir")
只能删除空目录

shutil.rmtree("dir")
空目录、有内容的目录都可以删

os.chdir("path")
转换目录,换路径

os.name 指示你正在使用的工作平台。比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix
os.getcwd()——得到当前工作的目录。
os.listdir()——指定所有目录下所有的文件和目录名。
os.remove()
os.rmdir()
os.mkdir()
os.path.isfile()
os.path.isdir()
os.path.split()——返回路径的目录和文件名
os.system()——执行shell命令
os.chdir()——切换到路径
os.path.getsize()
os.path.abspath()绝对路径
os.path.join(path,name)连接目录和文件
os.path.dirname(path)文件路径
os.path.basename(path)文件名

import os
import sys

if __name__ == "__main__":
    print os.path.realpath(sys.argv[0])
    print os.path.split(os.path.realpath(sys.argv[0]))
    print os.path.split(os.path.realpath(sys.argv[0]))[0]
posted @ 2017-02-23 10:12  itholiday  阅读(159)  评论(0编辑  收藏  举报