Python os库_辰 的博客-程序员秘密

技术标签: python  os  标准库  

os库

1. os.sep 当前操作系统的目录分隔符

2.os.name 获得当前操作系统

3.os.linesep 获得行终止符

4.os.getcwd(path) 获得当前工作目录

5.os.getenv() 获得环境变量

6. os.environ 可以获取并修改环境变量

7. os.listdir(path) 列出某目录下所有的目录和文件

8. os.remove(path) 删除文件

9. os.removedirs(path) 递归删除目录

10. os.rename(src, dst) 重命名文件或目录

11. os.renames(old, new) 递归修改目录名

12. os.rmdir(path) 删除非空目录

13. os.system() 运行shell或CMD命令

14. os.path.isfile(path)和os.path.isdir(path) 判断路径是不是文件/目录

15. os.path.split(path) 分别返回路径名和文件名

16. os.path.exists(path) 判断给出地址是否存在

17. os.chdir(path) 切换工作目录

18. os.path.getsize(path) 获取文件大小, 以字节文单位

19. os.path.abspath(path) 获取绝对路径

20. os.path.normpath(path) 规范化路径

21. os.path.splitext(path) 获取文件名和拓展名

22. os.path.basename(path) 获取路径中的文件名

23. os.path.dirname(path) 获取路径中的目录名

1. os.sep

获得当前操作系统使用的目录分隔符,比如 Windows 就会得到 \ 而 Linux/Unix 就会得到 /

2.os.name

获得当前使用的操作系统,Windows 是 NT 内核,所以会得到nt,而 Linux/Unix 用户则会得到posix

3.os.linesep

获取当前平台使用的行终止符。例如windows使用\r\n,linux使用\n,Mac使用\r

import os
if os.linesep == '\r\n':
    print('True')
else :
    print("False")

output:
    True

4.os.getcwd(path)

获得当前工作目录,即当前 Python 脚本工作的目录路径。

import os
print(os.getcwd())

output:
F:\Python 3.6 project\图像分类

5.os.getenv()

用来获得环境变量

import os
print(os.getenv('PATH'))

output:
D:\ProgramData\Anaconda3\envs\tensorflow;D:\ProgramData\Anaconda3\envs\tensorflow\Library\mingw-w64\bin;D:\ProgramData\Anaconda3\envs\tensorflow\Library\usr\bin;D:\ProgramData\Anaconda3\envs\tensorflow\Library\bin;D:\ProgramData\Anaconda3\envs\tensorflow\Scripts;D:\ProgramData\Anaconda3\envs\tensorflow\bin;D:\ProgramData\Anaconda3\condabin;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\libnvvp;D:\ProgramData\Anaconda3;D:\ProgramData\Anaconda3\Library\mingw-w64\bin;D:\ProgramData\Anaconda3\Library\usr\bin;D:\ProgramData\Anaconda3\Library\bin;D:\ProgramData\Anaconda3\Scripts;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Windows\System32\OpenSSH;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\Users\chen\AppData\Local\Microsoft\WindowsApps;.;D:\Program Files\JetBrains\PyCharm Community Edition 2019.2.4\bin;.;D:\ProgramData\Anaconda3\envs\tensorflow\lib\site-packages\numpy\.libs

6. os.environ

可以获取并修改环境变量

import os
print(os.environ['PATH'])
os.environ += 'D:/testdir/bin/'
print(os.environ["PATH"])

7. os.listdir(path)

列出某目录下所有的目录和文件

import os
print(os.listdir())

output:
    ['text.py', '作物数据集']

    
print(os.listdir('D:'))

output:
    ['$RECYCLE.BIN', '.temp', 'Adobe Photoshop CC 2018', 'BaiduNetdiskDownload', 'CAJViewer', 'CNKI E-Study', 'Dev-cpp5.4.0及API帮助文档', 'FFOutput', 'kinggsoft', 'MinGW', 'msdia80.dll', 'MyDrivers', 'PdfEditor', 'Program Files', 'Program Files (x86)', 'ProgramData', 'QMDownload', 'qqpcmgr_docpro', 'shutdown', 'spy++', 'System Volume Information', 'Users', 'XMind2020', '应用', '新建文件夹', '迅雷下载', '迅雷云盘']

8. os.remove(path)

删除文件,不能删除目录

os.remove('D:/a.txt')

9. os.removedirs(path)

递归删除目录

10. os.rename(src, dst)

重命名文件或目录

import os
os.chdir(r"D:")
os.rename('a.txt', 'b.txt')

11. os.renames(old, new)

递归修改目录名(可以同时修改文件的上级目录), 或修改文件名

import os
os.renames(r'D:\a\b\c\d.txt', r'D:\a\g\h\i.txt')

12. os.rmdir(path)

删除非空目录

13. os.system()

运行shell或CMD命令

os.system('conda list')

output:
# packages in environment at D:\ProgramData\Anaconda3\envs\tensorflow:
#
# Name                    Version                   Build  Channel
absl-py                   0.11.0                   pypi_0    pypi
astor                     0.8.1                    pypi_0    pypi
cached-property           1.5.2                    pypi_0    pypi
certifi                   2020.12.5        py36haa95532_0  
cycler                    0.10.0                   pypi_0    pypi
gast                      0.4.0                    pypi_0    pypi
grpcio                    1.34.0                   pypi_0    pypi
h5py                      3.1.0                    pypi_0    pypi
importlib-metadata        3.3.0                    pypi_0    pypi
keras-applications        1.0.8                    pypi_0    pypi
keras-preprocessing       1.1.2                    pypi_0    pypi
kiwisolver                1.3.1                    pypi_0    pypi
markdown                  3.3.3                    pypi_0    pypi
matplotlib                3.3.3                    pypi_0    pypi
numpy                     1.19.4                   pypi_0    pypi
opencv-python             4.5.1.48                 pypi_0    pypi
pillow                    8.1.0                    pypi_0    pypi
pip                       20.3.3           py36haa95532_0  
protobuf                  3.14.0                   pypi_0    pypi
pyparsing                 2.4.7                    pypi_0    pypi
python                    3.6.12               h5500b2f_2  
python-dateutil           2.8.1                    pypi_0    pypi
setuptools                51.0.0           py36haa95532_2  
six                       1.15.0                   pypi_0    pypi
sqlite                    3.33.0               h2a8f88b_0  
tensorboard               1.12.2                   pypi_0    pypi
tensorflow-gpu            1.12.0                   pypi_0    pypi
termcolor                 1.1.0                    pypi_0    pypi
typing-extensions         3.7.4.3                  pypi_0    pypi
vc                        14.2                 h21ff451_1  
vs2015_runtime            14.27.29016          h5e58377_2  
werkzeug                  1.0.1                    pypi_0    pypi
wheel                     0.36.2             pyhd3eb1b0_0  
wincertstore              0.2              py36h7fe50ca_0  
zipp                      3.4.0                    pypi_0    pypi
zlib                      1.2.11               h62dcd97_4  

14. os.path.isfile(path)和os.path.isdir(path)

判断路径是不是文件/目录

import os
print(os.path.isfile('D:\Program Files\Everything\Everything.exe'))
print(os.path.isfile('D:\Program Files\Everything'))
print(os.path.isdir('D:\Program Files\Everything\Everything.exe'))
print(os.path.isdir('D:\Program Files\Everything'))

output:
    True
	False
	False
	True

15. os.path.split(path)

获得一个两个元素的列表,list[0]是路径,list[1]是文件名

import os
path = 'D:\Program Files\Everything\Everything.exe'
print(os.path.split(path)[0])
print(os.path.split(path)[1])

output:
    D:\Program Files\Everything
	Everything.exe

16. os.path.exists(path)

判断给出地址是否存在

import os
print(os.path.exists('D:\Program Files\Everything\Everything.exe'))
print(os.path.exists('D:\Program Files\Everything\Everythings.exe'))
print(os.path.exists('D:\Program Files\Everything'))

output:
    True
	False
	True

17. os.chdir(path)

切换工作目录, 相当于cd命令

import os
print(os.getcwd())
os.chdir('D:/Program Files')
print(os.getcwd())

output:
    F:\Python 3.6 project\图像分类
	D:\Program Files

18. os.path.getsize(path)

获取文件大小, 以字节文单位, path是文件夹的话, 大小是文件夹的个数 * 4096, 一个文件夹在NTFS中是4个字节

import os
path = r'F:\360downloads\q.jpg'
print(os.path.getsize(path)/1024, 'KB')

output:
    236.5595703125 KB

19. os.path.abspath(path)

获取绝对路径

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

output:
    F:\Python 3.6 project\图像分类\text.py

20. os.path.normpath(path)

规范化路径

import os
path = 'C:/s/s\w/d\w/f'
print(os.path.normpath(path))

output:
    C:\s\s\w\d\w\f

21. os.path.splitext(path)

获取文件名和拓展名

import os
path = 'text.py'
print(os.path.splitext(path))

output:
    ('text', '.py')

22. os.path.basename(path)

获取路径中的文件名

import os
path = 'D:\Program Files\Everything\Everything.exe'
print(os.path.basename(path))

output:
    Everything.exe

23. os.path.dirname(path)

获取路径中的目录名

import os
path = 'D:\Program Files\Everything\Everything.exe'
print(os.path.dirname(path))

output:
    D:\Program Files\Everything
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_41972927/article/details/112335945

智能推荐

View的滑动冲突的分析和处理实践_103style的博客-程序员秘密

转载请以链接形式标明出处:本文出自:103style的博客《Android开发艺术探索》 学习记录base on Android-29文中有用到 Scroller 来实现弹性滑动,不了解的可以先看下 View的滑动实现方式。demo源码地址目录常见的滑动冲突场景滑动冲突的处理规则滑动冲突的解决方式实例验证处理水平滑动和竖直滑动冲突处理水平滑动、竖直滑动、水平滑动一...

信息学奥赛一本通 2017:【例4.2】输出偶数_君义_noip的博客-程序员秘密

【题目链接】ybt 2017:【例4.2】输出偶数【题目考点】1. for循环2. 判断整除【题解代码】#include<bits/stdc++.h> using namespace std;int main(){ int n; cin>>n; for(int i = 1; i <= n; ++i) { if(i % 2 == 0) cout<<i<<' ';

Java Card CAP文件分析_menghnhhuan的博客-程序员秘密

JAVA 智能的可执行文件(CAP 文件)是编译多个应用程序(Applet)的生成结果,包含了一个包中定义的所有类和接口,与包之间是一一对应的关系。实际发卡操作时,首先需要将该可执行文件下载至卡片中,并安装需要的应用实例;用户使用该安装的应用实例执行操作功能。CAP文件包含12个组件:Component Type

Word删除空白页的方法_怎么删除插入页_深巷的猫~的博客-程序员秘密

你是否在写文档的时候遇到过一些删除不掉的空白页?或者自己刚刚插入的分页符不知道怎么取消?方法1:开始-段落-点击“显示/隐藏编辑标记按钮”找到隐藏的分节符或者分栏符,将光标移动到符号之前,按键盘上的“Delete”将它删除干净,多的空白页就删除了。...

MySQL学习笔记:基础模型一_山鬼谣me的博客-程序员秘密

环境MacBook Pro序言MySQL 技术内幕 InnoDB 存储引擎 第二版后台线程MySQL是多线程模型,因此有个多个不同的后台线程,负责处理不同的任务。Master Thread额外的内存池在 InnnoDB 存储引擎中,对内存的管理是通过一种称为内存堆的方式进行的。在对一些数据结构本身的内存进行分配时,需要从额外的内存池中进行申请,当该区域的内存不够时,会从缓存池中进行申请。例如,分配了缓冲池(innodb_buffer_pool),但是每个缓冲池中的帧缓冲(frame

matlab如何理解绘柱状图,matlab如何绘制柱状图_知一声的博客-程序员秘密

3.2 特殊图形和坐标的绘制 3.2.1 特殊图形绘制在MATLAB 7.3的 Workspace窗口中,如果选 择了Workspace窗口中的某 个内存变量,单击工具栏 中的绘制列数据曲线......3.2 特殊图形和坐标的绘制 3.2.1 特殊图形绘制在MATLAB 7.3的 Workspace窗口中,如果选 择了Workspace窗口中的某 个内存变量,单击工具栏 中的绘制列数据曲线.......

随便推点

【01Studio MaixPy AI K210】20.ESP8266作接收端与服务器进行MQTT通信_因心,三人水的博客-程序员秘密

【代码】【01Studio MaixPy AI K210】20.ESP8266作接收端与服务器进行MQTT通信。

js中如何写一个正则表达式来验证 内容可以是中、英、数字混输还能限制长度_f45056231p的博客-程序员秘密

var len = str.match(/[^ -~]/g) == null ? str.length : str.length + str.match(/[^ -~]/g).length;这段JavaScript是网上找的,用来计算字符串长度的。你只要判断len小于14就行了。中间的/[^ -~]/g匹配汉字和全角符号,str.length是字符个数,这个值里面汉字算一个字符,再加上汉字的个数...

深入理解 ArrayList、LinkedList、HashSet 等 Java 容器_linkedlist和hashset性能_haihui_yang的博客-程序员秘密

本文主要从 Java 源码深入学习 java.util 包中容器部分的底层代码实现

Java多线程Lock对象常用方法(3)_Lucy_Leezhi的博客-程序员秘密

下面练习一下如下几个方法: isHeldByCurrentThread():查询当前线程是否保持此锁定 isFair():判断Lock是否为公平锁 isLocked():查询lock 是否被任意线程所持有。package com.lenovo.plm.dms.p23;import java.util.concurrent.locks.ReentrantLock;public class Ser

luogu2858/USACO:Treats for the Cows_chengdazhuo的博客-程序员秘密

#include<bits/stdc++.h>using namespace std;int a[2010];int dp[2010][2010];int main(){ int n; scanf("%d",&n); for(int i=1;i<=n;i++)scanf("%d",&a[i]); for(int i=1;i<=n;i++...

黑马程序员_线程_sinat_22072547的博客-程序员秘密

----------- android培训、java培训、java学习型技术博客、期待与您交流! ---------

推荐文章

热门文章

相关标签