python面试的100题(2)
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)的更多相关文章
- python面试的100题(21)
正则表达式 94.请写出一段代码用正则匹配出ip? ip地址的生成规则. IP地址,是由32位数字二进制转为四个十进制的字符串组成. 怎么转化?下面讲解: 二进制:111111111111111111 ...
- python面试的100题(20)
76.递归函数停止的条件? 递归的终止条件一般定义在递归函数内部,在递归调用前要做一个条件判断,根据判断的结果选择是继续调用自身,还是return:返回终止递归.终止的条件:1.判断递归的次数是否达到 ...
- python面试的100题(14)
32.请写出一个函数满足以下条件 该函数的输入是一个仅包含数字的list,输出一个新的list,其中每一个元素要满足以下条件: 1.该元素是偶数 2.该元素在原list中是在偶数的位置(index是偶 ...
- python面试的100题(8)
企业面试题 15.python新式类和经典类的区别? (在Python 2及以前的版本中,由任意内置类型派生出的类(只要一个内置类型位于类树的某个位置),都属于“新式类”,都会获得所有“新式类”的特性 ...
- python面试的100题(4)
4.打乱一个排好序的list对象alist? import random alist = [1,2,3,4,5] random.shuffle(alist) print(alist) 结果为:[2, ...
- python面试的100题(19)
61.如何在function里面设置一个全局变量 Python中有局部变量和全局变量,当局部变量名字和全局变量名字重复时,局部变量会覆盖掉全局变量. 如果要给全局变量在一个函数里赋值,必须使用glob ...
- python面试的100题(18)
函数 52.python常见的列表推导式? 列表推导式书写形式: [表达式 for 变量 in 列表] 或者 [表达式 for 变量 in 列表 if 条件] 参考地址:https://www.cnb ...
- python面试的100题(17)
内存管理与垃圾回收机制 48.哪些操作会导致Python内存溢出,怎么处理? 内存溢出:你申请了10个字节的内存,但写入了大于10个字节的数据会导致内存溢出 内存溢出原因:1.内存中加载的数据量过于庞 ...
- python面试的100题(16)
Python高级 元类 42.Python中类方法.类实例方法.静态方法有何区别? 类方法: 是类对象的方法,在定义时需要在上方使用 @classmethod 进行装饰,形参为cls,表示类对象,类对 ...
随机推荐
- vue项目下的导入和导出
本篇博文主要记录我们在写项目的时候经常需要用到导入和导出. 导入 首先定义一个模态弹窗,一般情况下会使用一个input(设置opacity:0)覆盖在显示的按钮上面 <!-- 3.导入 --&g ...
- sql查询如何将A表数据name字段对应B表name字段得到对应的B表id主键然后添加A到表usel_id中
1.写这个的原因 最近在写公司项目的时候一个功能很是让我头疼如标题看到的一样,平时我们一般都只负责数据表的查询或者连表查询某一个字段和A表字段一起显示出来. 但是添加到A表还是头一次,第一天想了很久都 ...
- C#设计模式学习笔记:简单工厂模式(工厂方法模式前奏篇)
本笔记摘抄自:https://www.cnblogs.com/PatrickLiu/p/7551373.html,记录一下学习过程以备后续查用. 一.引言 简单工厂模式并不属于GoF23里面的设计模式 ...
- ng-模板语法
插值 文本绑定 <p>Message: {{ msg }}</p> <p [innerHTML]="msg"></p> 属性绑定 & ...
- 安全 - CORS(脚本请求等)
功能概述 出于安全原因,浏览器限制从脚本内发起的跨域HTTP请求 或 拦截了跨域请求的结果. 例如,XMLHttpRequest和Fetch API遵循同源策略. 这意味着使用这些API的Web应用程 ...
- svn error: "Previous operation has not finished; run 'cleanup' if it was interrupted"
出现这种问题,有几个原因 1.本身文件确实是锁住了 2.之前clean up 过很多次,但是每次都可能以失败告终,造成work queue存在缓存队列 3.svn lock 有lock记录 以下是简单 ...
- React Hooks 笔记1
useState const [state, setSate] = useState(initialState) 特征: setState 标识稳定,组件重新渲染时不会变化,useState 返回的第 ...
- MySQL数据库优化(一)
1.1.1. 慢查询日志当查询超过一定的时间没有返回结果的时候,才会记录到慢查询日志中.默认不开启.采样的时候手工开启.可以帮助我们找出执行慢的 SQL 语句查看慢 SQL 日志是否启用(on 表示启 ...
- php 公众号开发
思考: 1,优先使用php扩展库的sdk,配合微信文档. 2,公众号开发比较简单,重在业务. 公众号关联与消息分发 <?php namespace app\wap\controller; use ...
- Notepad++ 个人洁癖
插件: JSON Viewer 可以以树的形式查看JSON,同时可以格式化JSON,增加缩进. NppExport 可以高亮复制 下载地址: https://github.com/chcg/NPP_E ...