python编程时,经常和文件、目录打交道。os模块包含普遍的操作系统功能,与具体的平台无关。以下列举常用的命令
1. os.name——判断现在正在实用的平台,Windows 返回 ‘nt'; Linux 返回’posix'
2. os.getcwd()——得到当前工作的目录。
3. os.listdir()——指定所有目录下所有的文件和目录名,以列表的形式全部列举出来,其中没有区分目录和文件。
4. os.remove()——删除指定文件
5. os.rmdir()——删除指定目录
6. os.mkdir()——创建目录
注意:这样只能建立一层,要想递归建立可用:os.makedirs()
7. os.path.isfile()——判断指定对象是否为文件。是返回True,否则False
8. os.path.isdir()——判断指定对象是否为目录。是True,否则False。
9. os.path.exists()——检验指定的对象是否存在。是True,否则False.例:
10. os.path.split()——返回路径的目录和文件名。例:
此处只是把前后两部分分开而已。就是找最后一个'/'。看例子:
11. os.getcwd()——获得当前工作的目录(get current work dir)
12. os.system()——执行shell命令。例:
注意:此处运行shell命令时,如果要调用python之前的变量,可以用如下方式:
var=123 os.environ['var']=str(var) #注意此处[]内的是 “字符串” os.system('echo $var')
13. os.chdir()——改变目录到指定目录
14. os.path.getsize()——获得文件的大小,如果为目录,返回0
15. os.path.abspath()——获得绝对路径。
17.os.path.basename(path)——返回文件名
18. os.path.dirname(path)——返回文件路径
19. 获得程序所在的实际目录
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]
执行结果
|
/home/jihite/ftp/del.py
(
'/home/jihite/ftp'
,
'del.py'
)
/home/jihite/ftp
|
细节——os.path.spilit()把目录和文件区分开
|
>>> import os
>>> os.path.split(
"a/b/c/d"
)
(
'a/b/c'
,
'd'
)
>>> os.path.split(
"a/b/c/d/"
)
(
'a/b/c/d'
,
''
)
|
python遍历文件夹,文件:
import os import os.path rootdir = “d:\data” # 指明被遍历的文件夹 for parent,dirnames,filenames in os.walk(rootdir): #三个参数:分别返回1.父目录 2.所有文件夹名字(不含路径) 3.所有文件名字 for dirname in dirnames: #输出文件夹信息 print "parent is:" + parent print "dirname is" + dirname for filename in filenames: #输出文件信息 print "parent is": + parent print "filename is:" + filename print "the full name of the file is:" + os.path.join(parent,filename) #输出文件路径信息 #windows下为:d:\data\query_text\EL_00154