python的os.mkdir,os.makedirs,torch.utils.tensorboard.writer.SummaryWriter

 

os.mkdir() 函数

语法格式:os.mkdir(path, mode=0o777, *, dir_fd=None)

只创建最后一层的目录。虽然烦琐但是有保障,不会因为你的一时手抖,创建而创建了双层或者多层错误路径。

import os
 
os.mkdir('E:\hello')    
os.mkdir('E:\hello\hi') 
 
#  如果E:\hello目录不存在
#  则os.mkdir('E:\hello\hi')执行失败

os.makedirs()函数


语法格式:os.makedirs(name, mode=0o777, exist_ok=False)

递归目录创建功能。与mkdir()类似,但生成包含叶目录所需的所有中间级目录。

import os
 
os.makedirs('E:\hello')    
os.makedirs('E:\hello\hi')
 
#  如果E:\hello目录不存在
#  则os.makedirs('E:\hello\hi')  #  仍然正常


含有报错操作实例:

# Python program to explain os.makedirs() method

# importing os module
import os

# os.makedirs() method will raise
# an OSError if the directory
# to be created already exists
# But It can be suppressed by
# setting the value of a parameter
# exist_ok as True
	
# Directory
directory = "ik"

# Parent Directory path
parent_dir = "/home/ihritik/Desktop/"

# Path
path = os.path.join(parent_dir, directory)

# Create the directory
# 'ihritik'
try:
	os.makedirs(path, exist_ok = True)
	print("Directory '%s' created successfully" %directory)
except OSError as error:
	print("Directory '%s' can not be created")


# By setting exist_ok as True
# error caused due already
# existing directory can be suppressed
# but other OSError may be raised
# due to other error like
# invalid path name

SummaryWriter()

torch.utils.tensorboard.writer.SummaryWriter(log_dir=Nonecomment=''purge_step=Nonemax_queue=10flush_secs=120filename_suffix=''

log_dir (str) 指的是在这个目录下创建保存文件,里面装的就是可以被tensorboard所解释的文件:events.out.tfevents.XXXX.计算机管理员帐户.XXXXXX.0

from torch.utils.tensorboard import SummaryWriter
writer = SummaryWriter("ZCH_Tensorboard_Trying_logs")      #第一个参数指明 writer 把summary内容 写在哪个目录下
 
for i in range(100):
    writer.add_scalar("y=x",i,i)
 
for i in range(100):
    writer.add_scalar("y=2*x",2*i,i)
 
 
writer.close()     #将event log写完之后,记得close()

将条目直接写入 log_dir 中的事件文件以供 TensorBoard 使用。

参考:

os — Miscellaneous operating system interfaces — Python 3.11.3 documentation

Python | os.makedirs() method - GeeksforGeeksTensorboard的使用 ---- SummaryWriter类(pytorch版)_chuanauc的博客-优快云博客torch.utils.tensorboard — PyTorch 2.0 documentation

PermissionError Traceback (most recent call last) Cell In[75], line 6 3 from d2l import torch as d2l 5 batch_size = 256 ----> 6 train_iter, test_iter = d2l.load_data_fashion_mnist(batch_size) File E:\Anaconda\envs\d2l\lib\site-packages\d2l\torch.py:3018, in load_data_fashion_mnist(batch_size, resize) 3016 trans.insert(0, transforms.Resize(resize)) 3017 trans = transforms.Compose(trans) -> 3018 mnist_train = torchvision.datasets.FashionMNIST( 3019 root="../data", train=True, transform=trans, download=True) 3020 mnist_test = torchvision.datasets.FashionMNIST( 3021 root="../data", train=False, transform=trans, download=True) 3022 return (torch.utils.data.DataLoader(mnist_train, batch_size, shuffle=True, 3023 num_workers=get_dataloader_workers()), 3024 torch.utils.data.DataLoader(mnist_test, batch_size, shuffle=False, 3025 num_workers=get_dataloader_workers())) File E:\Anaconda\envs\d2l\lib\site-packages\torchvision\datasets\mnist.py:100, in MNIST.__init__(self, root, train, transform, target_transform, download) 97 return 99 if download: --> 100 self.download() 102 if not self._check_exists(): 103 raise RuntimeError("Dataset not found. You can use download=True to download it") File E:\Anaconda\envs\d2l\lib\site-packages\torchvision\datasets\mnist.py:180, in MNIST.download(self) 177 if self._check_exists(): 178 return --> 180 os.makedirs(self.raw_folder, exist_ok=True) 182 # download files 183 for filename, md5 in self.resources: File E:\Anaconda\envs\d2l\lib\os.py:215, in makedirs(name, mode, exist_ok) 213 if head and tail and not path.exists(head): 214 try: --> 215 makedirs(head, exist_ok=exist_ok) 216 except FileExistsError: 217 # Defeats race condition when another thread created the path 218 pass File E:\Anaconda\envs\d2l\lib\os.py:215, in makedirs(name, mode, exist_ok) 213 if head and tail and not path.exists(head): 214 try: --> 215 makedirs(head, exist_ok=exist_ok) 216 except FileExistsError: 217 # Defeats race condition when another thread created the path 218 pass File E:\Anaconda\envs\d2l\lib\os.py:225, in makedirs(name, mode, exist_ok) 223 return 224 try: --> 225 mkdir(name, mode) 226 except OSError: 227 # Cannot rely on checking for EEXIST, since the operating system 228 # could give priority to other errors like EACCES or EROFS 229 if not exist_ok or not path.isdir(name): PermissionError: [WinError 5] 拒绝访问。: '../data'什么意思
03-09
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值