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