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. sql 根据查询的记录生成序号的几种方式

    row_number()  order() 函数会为查询出来的每一行记录生成一个序号,依次排序且不会重复,注意使用row_number函数时必须要用over子句选择对某一列进行排序才能生成序号. ra ...

  2. springboot web - 启动(4) tomcat

    接第二篇 第二篇里面, 看到容器创建的是 AnnotationConfigServletWebServerApplicationContext 类型. 一 .类图 二. 构造 public Gener ...

  3. gitkraken生成ssh keys并连接git

    gitkraken中生成ssh keys 打开gitkraken ,点击左上file,选择preferences 需要选择一个指定目录 将复制的ssh keys粘贴到gitlab 或者 GitHub中 ...

  4. 剑指offer-面试题14-剪绳子-贪婪算法

    /* 题目: 给定一个长度为n的绳子,把绳子剪为m段,(n>1,m>1) 求各段绳子乘积的最大值. */ /* 思路: 贪婪算法. 当绳子的长度大于5时,尽可能多的剪长度为3的绳子:当剩下 ...

  5. 1.(group by)如何让group by分组后,每组中的所有数据都显示出来

    问题描述:表如下,如何让这个表按device_id这个字段分组,且组中的每条数据都查寻出来?(假如说这个表名为:devicedata) 错误答案:select * from devicedata GR ...

  6. Linux的文件、目录权限管理

    查看文件夹的详细信息 [root@s25linux ~]# ll /tmp总用量 4drwxr-xr-x. 2 root root   6 2月 17 11:00 hehe   #文件夹 解读它的信息 ...

  7. PTA 简单计算器(C语言)

    模拟简单运算器的工作.假设计算器只能进行加减乘除运算,运算数和结果都是整数,四种运算符的优先级相同,按从左到右的顺序计算. 输入格式:输入在一行中给出一个四则运算算式,没有空格,且至少有一个操作数.遇 ...

  8. 折半枚举+Hash(HDU1496升级版)

    题目链接:N - 方程的解 给定一个四元二次方程: Ax1^2+Bx2^2+Cx3^2+Dx4^2=0 试求−1000≤x1,x2,x3,x4≤1000非零整数解的个数. −10000≤A,B,C,D ...

  9. 前端:将网站打造成单页面应用SPA

    前端:将网站打造成单页面应用SPA   前言 不知你有没有发现,像Github.百度.微博等这些大站,已经不再使用普通的a标签做跳转了.他们大多使用Ajax请求替代了a标签的默认跳转,然后使用HTML ...

  10. 2018ICPC南京站Problem G. Pyramid

    题意: 找有多少个等边三角形 解析: 首先打标找规律,然后对式子求差分 0,1,5,15,35,70,126,210... 1,4,10,20,35,56... 3,6,10,15,21... 3,4 ...