def print_directory_contents(sPath):
"""
这个函数接收文件夹的名称作为输入参数
返回该文件夹中文件的路径
以及其包含文件夹中文件的路径
"""

给出的结果如下:

def print_directory_contents(sPath):
import os
for s_child in os.listdir(s_path):
s_child_path = os.path.join(s_path, s_child)
if os.path.isdir(s_child_path):
print_directory_contents(s_child_path)
else:
print(s_child_path)

os 模块在运维工作中是很常用的一个模块。通过os模块调用系统命令。os模块可以跨平台使用。

在 import os的时候,建议使用import os而非from os import *。这样可以避免os.open()不会覆盖内置函数open().

os.name()
import os
print(os.name)

结果为:nt

os.system()

行系统命令的模块,返回命令执行的状态码,开启一个子shell执行命令

import os
cmd = 'ifconfig' retval = os.system(cmd)
print(retval)
# 结果为 0 
# 表示命令执行成功,否则为失败
os.popen()

popen也是去执行一个命令,不过相比system(cmd),os.popen(command [, mode='r' [, bufsize]]),参数更多,而且是开启一个管道去执行。

  • cmd - 执行的命令
  • mode - 模式权限可以是'r'(默认)或'w'
  • buffering - 0意味着无缓冲;1意味着行缓冲;其它正值表示使用参数大小的缓冲(大概值,以字节为单位)。负的bufsize意味着使用系统的默认值,一般来说,对于tty设备,它是行缓冲;对于其它文件,它是全缓冲。如果没有改参数,使用系统的默认值。
import os
cmd = 'mkdir nwdir'
a = os.popen(cmd)
print(a)
print(type(a))

结果为:

<os._wrap_close object at 0x000002177BF61F98>
<class 'os._wrap_close'>

os.listdir(path)

打印指定目录的文件,返回一个列表

import os
a = os.listdir('/tmp')
print(a)

os.getcwd()

返回当前绝对路径,返回类型为str

import os
a = os.getcwd()
print(a)

os.chdir(path)

改变当前路径

import os
print(os.getcwd()) os.chdir(/tmp/aaa) print(os.getcwd())

os.mkdir()

mkdir(path [, mode=0755])
默认权限是0755
如果目录已存在,会异常OSError

os.remove(path)

删除文件,只能删除文件

os.rmdir(path)

删除目录,只能删除目录

os.path

该模块主要是针对路径的操作。

os.path.abspath(path)

返回绝对路径,主要有引号

import os
print(os.path.abspath('.'))

结果:D:\学习\python\面试

os.path.basename(path)

返回文件名,类似linux 中的basename命令

import os
print(os.path.basename('D:\Python\面试'))

os.path.dirname(path)

返回文件路径,不包含文件名,类似linux中的dirname命令

import os
print(os.path.dirname('D:\Python\面试'))

结果:D:\Python

os.path.exists(path)

判断路径是否存在,存在返回True,不存在返回False

a = 'D:\Python\面试'

print(os.path.exists(a))

os.path.join(path1,path2)

把 path1、path2文件或目录合并成一个路径

参考地址:https://www.cnblogs.com/pingqiang/p/7817983.html

python面试的100题(2)的更多相关文章

  1. python面试的100题(21)

    正则表达式 94.请写出一段代码用正则匹配出ip? ip地址的生成规则. IP地址,是由32位数字二进制转为四个十进制的字符串组成. 怎么转化?下面讲解: 二进制:111111111111111111 ...

  2. python面试的100题(20)

    76.递归函数停止的条件? 递归的终止条件一般定义在递归函数内部,在递归调用前要做一个条件判断,根据判断的结果选择是继续调用自身,还是return:返回终止递归.终止的条件:1.判断递归的次数是否达到 ...

  3. python面试的100题(14)

    32.请写出一个函数满足以下条件 该函数的输入是一个仅包含数字的list,输出一个新的list,其中每一个元素要满足以下条件: 1.该元素是偶数 2.该元素在原list中是在偶数的位置(index是偶 ...

  4. python面试的100题(8)

    企业面试题 15.python新式类和经典类的区别? (在Python 2及以前的版本中,由任意内置类型派生出的类(只要一个内置类型位于类树的某个位置),都属于“新式类”,都会获得所有“新式类”的特性 ...

  5. python面试的100题(4)

    4.打乱一个排好序的list对象alist? import random alist = [1,2,3,4,5] random.shuffle(alist) print(alist) 结果为:[2, ...

  6. python面试的100题(19)

    61.如何在function里面设置一个全局变量 Python中有局部变量和全局变量,当局部变量名字和全局变量名字重复时,局部变量会覆盖掉全局变量. 如果要给全局变量在一个函数里赋值,必须使用glob ...

  7. python面试的100题(18)

    函数 52.python常见的列表推导式? 列表推导式书写形式: [表达式 for 变量 in 列表] 或者 [表达式 for 变量 in 列表 if 条件] 参考地址:https://www.cnb ...

  8. python面试的100题(17)

    内存管理与垃圾回收机制 48.哪些操作会导致Python内存溢出,怎么处理? 内存溢出:你申请了10个字节的内存,但写入了大于10个字节的数据会导致内存溢出 内存溢出原因:1.内存中加载的数据量过于庞 ...

  9. python面试的100题(16)

    Python高级 元类 42.Python中类方法.类实例方法.静态方法有何区别? 类方法: 是类对象的方法,在定义时需要在上方使用 @classmethod 进行装饰,形参为cls,表示类对象,类对 ...

随机推荐

  1. python 3.6 安装 opencv 3.4

    一种说法是,到opencv官网下载相应的版本opencv,解压,把cv2.pyd放到 python安装文件夹下的\Lib\site-packages里即可, 此时import cv2即可成功 我的没有 ...

  2. Java后端API调用身份验证的思考

    在如今信息泛滥的数字时代中对产品安全性的要求越来越高了,就比如说今天要讨论的Java后端API调用的安全性,在你提供服务的接口中一定要保证调用方身份的有效性和合法性,不能让非法的用户进行调用,避免数据 ...

  3. Truck History POJ - 1789 板子题

    #include<iostream> #include<cstring> #include<algorithm> #include<stdio.h> u ...

  4. 真·从零开始的Ubuntu+Apache+MySQL+PHP+phpstorm+xdebug下的debug环境搭建(纯小白向)

    费了好几天劲,终于把Linux下的开发环境如何设置搞的有点明白了,在此写篇博客庆祝一下,让大家以后少踩坑(缓慢更新中) 关键词 win10双系统装Ubuntu 下载U盘烧录工具 下载UbuntuLTS ...

  5. 135.在django中操作cookie

    操作cookie 设置cookie 设置cookie是设置值给浏览器的,因此我们可以通过response的对象来设置,可以通过HttpResponse的对象或者是HttpResponseBase的子类 ...

  6. 实现Windows数据更新

    一.枚举 枚举是一组描述性的名称 定义一组有限的值,不能包含方法 对可能的值进行约束 .定义枚举类 public enum Gender { Male,Female } .使用枚举表示整数值 publ ...

  7. git三剑客笔记

    看了git三剑客视频总结的笔记,只给自己参考. 常用命令 查看分支:git branch 创建分支:git branch <name> 切换分支:git checkout <name ...

  8. 主机名由localhost变成bogon是怎么回事,怎样变回localhost这个名字?

    如何解决这个问题修改你的 DNS 为公共 DNS,例如 114.114.114.114 或者谷歌的 8.8.8.8.然后修改你的主机名: sudo hostname localhost 出现这个问题的 ...

  9. 分类问题(三)混淆矩阵,Precision与Recall

    混淆矩阵 衡量一个分类器性能的更好的办法是混淆矩阵.它基于的思想是:计算类别A被分类为类别B的次数.例如在查看分类器将图片5分类成图片3时,我们会看混淆矩阵的第5行以及第3列. 为了计算一个混淆矩阵, ...

  10. 2020年,最新NGINX的ngx_http_geoip2模块以精准禁止特定国家或者地区IP访问

    1.0 geoip2核心识别库 安装geoip2 lib步骤: cd /usr/local/src .tar.gz wget https://github.com/maxmind/libmaxmind ...