Python os 使用
python os 使用
1. 获取文件所在路径
- import os
- os.path.dirname(__file__) 获取当前文件的所在路径
-
print (os.path.dirname(os.path.dirname(__file__))) 获取当前文件的所在目录的上级路径
- print (os.path.dirname(os.path.dirname(os.path.dirname(__file__)))) 获取当前文件的所在目录的上级目录的上级路径
1. os.name()——判断现在正在实用的平台,Windows 返回 ‘nt‘; Linux 返回’posix‘
2. os.getcwd()——得到当前工作的目录。
3. os.listdir()——指定所有目录下所有的文件和目录名。例:
os.listdir('.')
['DLLs', 'Doc', 'include', 'Lib', 'libs', 'LICENSE.txt', 'NEWS.txt', 'python.exe', 'python3.dll', 'python36.dll', 'pythonw.exe', 'Scripts', 'tcl', 'Tools', 'vcruntime140.dll']
以列表的形式全部列举出来,其中没有区分目录和文件。
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()——返回路径的目录和文件名。
os.path.split('c:/')
( ' c:/ ' , ' ' )
此处只是把前后两部分分开而已,就是找最后一个‘/‘,如
os.path.split('c:/user/python')
( ' c:/user ' , ' python ' )
11. os.getcwd()——获得当前工作的目录
os.getcwd( )
'C:\\Users\\~\\AppData\\Local\\Programs\\Python\\Python36'
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()——获得绝对路径。例:
16. os.path.join(path, name)——连接目录和文件名。例:
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]
执行结果
1
2
3
|
/home/jihite/ftp/del.py ( ‘/home/jihite/ftp‘ , ‘del.py‘ ) /home/jihite/ftp |
- os.path.split()把目录和文件区分开
1
2
3
4
5
|
>>> import os >>> os.path.split( "a/b/c/d" ) ( ‘a/b/c‘ , ‘d‘ ) >>> os.path.split( "a/b/c/d/" ) ( ‘a/b/c/d‘ , ‘‘ ) |
*********************
要执行的命令,相当于在Windows的cmd窗口中输入的命令。
如果是 linux 系统的话就是linux 的 终端输入的命令了
#coding=utf-8
from selenium import webdriver
import os
driver = webdriver.Firefox()
file_path = ‘file:///‘ + os.path.abspath(‘checkbox.html‘)
driver.get(file_path)
---------------------
- 在Python 的os 模块中提供了system()用来执行系统命令。
比如我们要执行E:\\test_object\\目录
下的all_test.py 文件,可以这样来实现:
#coding=utf-8
import os
os.system(‘E:\\test_object\\all_test.py‘)
或者
import os
os.chdir("E:\\test_object")
os.system(‘Python all_test.py‘)
-----------------
- 通过os.listdir()可以获取目录下的所有文件
- 通过os.path.getmtime(path) #返回在此path下最后一次修改的时间
- 通过os.path.join(path, name)连接目录和文件名
#coding=utf-8
import os
#定义文件目录
result_dir = ‘E:\\test_object\\report‘
lists=os.listdir(result_dir)
#重新按时间对目录下的文件进行排列
lists.sort(key=lambda fn: os.path.getmtime(result_dir+"\\"+fn))
print (‘最新的文件为: ‘+lists[-1])
file = os.path.join(result_dir,lists[-1])
print file