os库(operating system,提供操作系统函数)

1. __file__是什么?

ans:当前文件的名字。

例如r.py内容如下

import os

if __name__ == "__main__":

print __file__

输出结果:r.py

2. print  __file__输出结果是固定的吗?

ans:不是固定的。pycharm中会做改动,pycharm会私自加上一个完整路径名字。

直接执行文件输出文件名字,例如:

     ➜  20181018 python r.py

r.py

从pycharm中编辑完文本,并在pycharm中运行时,结果为:

     ➜  20181018 python  run.py

/Users/liurong07/Documents/code/QA/20181018/run.py

3. 如何获取文件的完整路径?

os.path.abspath(__file__)

输出结果:/Users/liurong07/Documents/code/QA/20181018/run.py

4.如何获取py文件的当前目录?

方法1:    os.getcwd()

方法2:    os.path.dirname(os.path.abspath(__file__)),推荐此方法。

5. 运行完当前py文件后,py文件的当前目录会增加到sys.path中。

6. 路径拼接  os.path.join(path_1, path_2)

例如

>>> path_1 = '/home/work'

>>> path_2 = 'case/log'

>>> path_1

'/home/work'

>>> path_2

'case/log'

>>>

>>> os.path.join(path_1, path_2)

'/home/work/case/log'

如果两个目录中间/重叠呢?  --无法正确拼接,只得到第2个参数的路径

>>> path_3

'/home/work/'

>>> path_4

'/case/log'

>>> os.path.join(path_3, path_2)

'/home/work/case/log'

7. 判断某一个路径是否存在  os.path.exists(path_1)

举例

>>> import os

path为存在的目录

>>> path = '/Users/liurong07/Documents/code/QA/20181018'

>>> print os.path.exists(path)

True

path2为不存在的目录

>>> path2 = '/Users/liurong07/Documents/code/QA/20181018/xxxx'

>>> print os.path.exists(path2)

False

8. 如果某个目录不存在,如果创建目录?

执行linux命令,使用os.system,如下:

>>> os.system('mkdir -p ' + path2)

0

>>> print os.path.exists(path2)

True


python的os库的更多相关文章

  1. python之os库

    python之os库 os.name 判断现在正在实用的平台,Windows 返回 'nt'; Linux 返回'posix' >>> os.name 'nt' os.getcwd( ...

  2. python的OS库和正则表达式库

    摘自:http://blog.chinaunix.net/uid-16360955-id-3351990.html 作留存学习 1.常用内置函数:(不用import就可以直接使用) help(obj) ...

  3. python基础—sys与os库

    python可以用sys库打印环境变量或者查看当前文件的脚本路径,具体代码: import sysprint(sys.path[2])#打印环境变量print(sys.argv)#当前脚本路径 os库 ...

  4. python os库的使用方法 + 自动化安装第三方库脚本

    一.os库基本介绍 os库提供通用的.基本的操作系统交互功能,包括windows.Mac os.linux os库是python标准库,包含几百个函数 常用路径操作.进程管理.环境参数等几类 路径操作 ...

  5. Python底层socket库

    Python底层socket库将Unix关于网络通信的系统调用对象化处理,是底层函数的高级封装,socket()函数返回一个套接字,它的方法实现了各种套接字系统调用.read与write与Python ...

  6. 【python】标准库的大致认识

    正如那句 Python 社区中很有名的话所说的:“battery included”,Python 的一大好处在于它有一套很有用的标准库(standard library).标准库是随着 Python ...

  7. python 使用标准库根据进程名获取进程的pid

    有时候需要获取进程的pid,但又无法使用第三方库的时候. 方法适用linux平台. 方法1 使用subprocess 的check_output函数执行pidof命令 from subprocess ...

  8. python 使用标准库连接linux实现scp和执行命令

    import stat import pexpect 只显示关键代码: sqldb = localpath+database //获取database名字 if os.path.exists(sqld ...

  9. 如何离线安装python的whl库

    对于使用公司内网环境办公的人来说,可能无法使用pip install 命令安装python的whl库.对于这种情况,我们可以用以下的方法安装一个whl库. 1 下载whl文件,下载时注意,whl文件的 ...

随机推荐

  1. C++ STL:next_permutation和prev_permutation

    两个函数都在#include <algorithm>里 顾名思义,next_permutation用来求下一个排列,prev_permutation用来求上一个排列. 当前的排列不满足函数 ...

  2. Scrum简介

    1. 什么是Scrum Scrum是一种轻量级的框架,适合于小型的.结合紧密的团队开发复杂的产品.Scrum是二十世纪后期一些软件工程师协同努力的脑力劳动的成果,现已成为技术领域最具魅力的方法.但Sc ...

  3. git内容补充-Git零基础快速入门-苏玲

    https://git-scm.com/book/zh/v2 git历史 集中式版本控制管理:cvs.svn 分布式版本控制管理:git 基本命令 git config --list --global ...

  4. 532-数组中的K-diff数对

    532-数组中的K-diff数对 给定一个整数数组和一个整数 k, 你需要在数组里找到不同的 k-diff 数对.这里将 k-diff 数对定义为一个整数对 (i, j), 其中 i 和 j 都是数组 ...

  5. poj2387- Til the Cows Come Home(最短路板子题)

    题目描述 Description Bessie is out in the field and wants to get back to the barn to get as much sleep a ...

  6. Codeforces Round #350 (Div. 2)(670C)

    今天对着算法进阶指南,学了一下离散化.大概对桶排这样的算法优化比较好吧. 离散化:就是把无穷大的集合中若干个元素映射为有限集合以便于统计的方法.例如在很多时候,问题范围定义为整数集合Z,但涉及的元素只 ...

  7. Java_Day3(下)

    Java learning_Day3(下) 本人学习视频用的是马士兵的,也在这里献上 <链接:https://pan.baidu.com/s/1qKNGJNh0GgvlJnitTJGqgA> ...

  8. Linux的常用命令---这是对Linux最基本的尊重

    Linux: 诞生日期:1991年 开发者:林纳斯·托瓦茨 特点:免费,开源 发行版本:centos|red Hat|Ubuntu|红旗等 思想:一切都是文件 重要文件目录 bin:二进制文件(命令) ...

  9. Linux - mysql 异常: ERROR! MySQL is not running, but lock file (/var/lock/subsys/mysql) exists

    问题描述 ERROR! MySQL is not running, but lock file (/var/lock/subsys/mysql) exists 解决方案 删除:/var/lock/su ...

  10. jenkins Exec exit status not zero. Status [-1]

    jenkins是使用ssh连接服务器后,如果使用grep获取进程并kill时,会jenkins Exec exit status not zero. Status [-1],解决办法:在获取进程时,使 ...