我正在遍历一个元组中的一系列名称,并且我想在每个循环期间使用元组数据作为文件名来保存输出。但是名称中包含斜线。
layers = ['conv1/7x7_s2','pool1/3x3_s2']
for idx,layer in enumerate(layers):
result=deepdream(net, img, end=layer)
imag = PIL.Image.fromarray(result,'RGB')
imag.save('files/'+str(layer)+'.png')
结果包含一个numpy数组 意象是形象 层是我想要的文件名
但是,斜杠被解释为目录定界符 有什么办法可以将图像另存为 conv1 / 7x7_s2.png
还是我应该将斜杠转换为破折号?
答案 0 :(得分:2)
是的,有一些复杂的方法来保留“斜杠”,但它们可能不值得(例如,使用unicode除法斜杠)。
/root/PycharmProjects/untitled1/venv/bin/python /root/.PyCharm2018.3/config/scratches/scratch.py
Traceback (most recent call last):
File "/root/.PyCharm2018.3/config/scratches/scratch.py", line 1, in <module>
import pygame
ImportError: No module named 'pygame'
Process finished with exit code 1
/root/PycharmProjects/untitled1/venv/bin/python /root/.PyCharm2018.3/config/scratches/scratch.py
Traceback (most recent call last):
File "/root/.PyCharm2018.3/config/scratches/scratch.py", line 1, in <module>
import pygame
ImportError: No module named 'pygame'
Process finished with exit code 1
答案 1 :(得分:0)
定义目录结构后,不能。由于linux系统会将/解析为目录树的组成部分。您只需将斜杠更改为破折号或下划线即可。
答案 2 :(得分:0)
这些字符中的任何一个都不能在文件名中使用(至少在Windows文件系统中不能使用):\
,/
,:
,*
,{{1 }},?
,"
,<
和>
。它们都有特定的替代含义。
也没有转义字符或其他替代方法-您只需在文件名中省略或替换这些字符即可。