首页 > 编程语言 >python内置os库

python内置os库

时间:2023-07-12 09:04:29浏览次数:34  
标签:__ 内置 python file print path os

1. 目录不存在即创建
import os
dirs = './file_test/media_test/'

if not os.path.exists(dirs): # 判断文件和文件夹都可以
    os.makedirs(dirs)

if os.path.isfile("filename.txt"):
    pass # 可只用来判断文件是否存在

import os
if not os.path.exists('foldername'):
    os.mkdir('foldername')
    
# 判断文件是否可做读写操作
os.access(path, mode)
# path为文件路径,mode为操作模式,有以下几种:
- os.F_OK: 检查文件是否存在
- os.R_OK: 检查文件是否可读
- os.W_OK: 检查文件是否可以写入
- os.X_OK: 检查文件是否可以执行
2. 获取文件绝对路径
# d:/projects/python/test.py
print(__file__) == print(sys.argv[0]) == "d:/projects/python/test.py"
3. 获取当前路径
# d:/projects/python/test.py
os.path.dirname(__file__) # d:/projects/python

os.getcwd() # d:/projects/python

print os.getcwd() # 获得当前工作目录
print os.path.abspath('.') # 获得当前工作目录
print os.path.abspath('..') # 获得当前工作目录的父目录
print os.path.abspath(os.curdir) # 获得当前工作目录
4. 获取文件名
os.path.split(__file__)[-1] # test.py
5. 获取当前目录下的文件目录和文件名
pwd = os.getcwd() # 获取当前目录
for root, dirs, files in os.walk(pwd):
    print(root) # 当前目录路径
    print(dirs) # 当前路径下所有子目录
    print(files) # 当前路径下所有非目录子文件
    
os.listdir(pwd) # 直接获取当前目录下的所有文件名
6. 跳转文件路径
os.path.abspath(__file__) # 获取当前文件的绝对路径
os.path.dirname(dir1) # 获取dir1所属文件夹路径,相当于跳转至上级文件夹路径
os.path.join(path, "file_or_dirname") # 拼接文件路径

# scrapy settings.py 中引入django

import os
import sys
import django

dir1 = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))), "orm58tz")
sys.path.append(dir1)
os.environ['DJANGO_SETTINGS_MODULE'] = 'orm58tz.settings'
django.setup()

7. 重启和关机

import os
os.system('shutdown -s -f -t 59') # shutdown after 59s 
os.system('shutdown -r -f -t 3') # reboot after 3s

标签:__,内置,python,file,print,path,os
From: https://www.cnblogs.com/matrioc/p/17546536.html

相关文章

  • Awesome CocosStore
    收集一些好用的免费CocosCreator插件:super-gizmoUI状态控制器类似FUI的Controllerseek-miss......
  • 13-MongoDB 集成:如何在响应式应用中访问 NoSQL 数据库
    上一讲开始,我们进入了响应式数据访问这一模块的学习,并且引出了Spring家族中专门用于实现数据访问的SpringData框架及其响应式版本。我们知道SpringData支持多种响应式Repository用来构建全栈响应式编程模型,而MongoDB就是其中具有代表性的一种数据存储库。今天,我就将结......
  • Dockerfile与docker-compose搭建php环境
     目录结构 php.conf文件内容server{ listen 80; server_name localhost; location/{ root /usr/share/nginx/html/web; index index.phpindex.htmlindex.htm; } error_page 500502503504 /50x.html; location=/50x.html{ root /usr/share/nginx/......
  • python tk增加菜单项的便捷封装
    TK增加菜单项的编码是比较复杂的,为方便使用,我做了一下封装,用户使用场景:root=tk.Tk()AddMenuItem(root,'File.New.Close',lambda:print('111'))AddMenuItem(root,'File.Hzq',lambda:print('abc'))root.mainloop()实现源码:'''Tk扩展'�......
  • python - 类
    1.类classDog: """一次模拟小狗的简单尝试。""" def__init__(self,name,age):#当根据Dog类创建实例时,python会自动运行__init__()方法。 """初始化属性name和age""" self.name=name#属性。以self.为前缀的变量可供类中所有方......
  • Personal utils in Python
    #-*-coding:utf-8-*-importosimportsysimportshutilfromtimeimportperf_counterfromcollectionsimportdefaultdictfromdatetimeimporttimedeltafromtypingimportSequence,List,Dict,Hashable,Callablefromconfig.commonimportDEBUG#项目......
  • Python抓取音乐音乐
    #encoding=utf8importrequestsfrombs4importBeautifulSoupimporturllib.requestheaders={'Referer':'http://music.163.com/','Host':'music.163.com','User-Agent':'Mozilla/5.0(Wi......
  • 请不要再用被淘汰的Python库了,这几个新的更具优势!
    随着每个Python版本的发布,都会添加新模块,并引入新的更好的做事方式,虽然我们都习惯了使用好的旧Python库和某些做事方式,但现在也时候升级并利用新的和改进的模块及其特性了。Pathlib而不是OSpathlib绝对是Python标准库中最近添加的更大的内容之一,自Python3.4以来,它一......
  • Closest Cow Wins S 最近的奶牛获胜
    ClosestCowWinsS最近的奶牛获胜题目传送门目录ClosestCowWinsS最近的奶牛获胜题目描述输入格式输出格式样例#1样例输入#1样例输出#1提示思路code题目描述FarmerJohn沿着一条高速公路拥有一个很长的农场,可以被看作类似于一维数轴。沿着农场有\(K\)块草地(\(1\le......
  • django python manage.py migrate 后报错字段长度超了 django.db.utils.OperationalE
     现象:在models.py将CharField字段的maxlength=修改后,执行ythonmanage.pymigrate 报错django.db.utils.OperationalError:(1118 'Rowsizetoolarge.Themaximumrowsizefortheusedtabletype,notcountingBLOBs,is65535.Thisincludes storageoverhead,c......