0

所以这是我的第一次 python 体验。我在尝试转换为 html 页面的文件夹中有一个图像列表。为此,我有以下代码:

import inspect, os, errno, markup
path =  os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))+'/www/img/'
print path

for f in os.listdir(path):
  counter = 1
  page = markup.page()
  page.init(charset="UTF-8")
  from markup import oneliner as e
  page.a(e.img(src='img/'+f, width=1024, height=768), href='')
  final = open('/index'+str(counter)+'.html','w')
  final.write(page)

我收到一条IOError: [Errno 13] Permission denied: '/index1.html'消息....任何线索或想法都非常感谢。谢谢!

4

3 回答 3

2

我认为主要问题与根文件夹(/)的文件权限有关。尝试以 root 身份运行脚本或选择您确定具有写入权限的其他目录。

于 2012-10-10T18:26:16.493 回答
1

你的问题在这里:open('/index'+str(counter)+'.html','w')

以“/”开头的路径是绝对路径,无论您当前的目录是什么。它不是特定于 python 的。

于 2012-10-10T18:27:06.627 回答
0

假设您使用的是 Unix/Linux(通过正斜杠),任何以 a 开头的路径/都是绝对路径。因此,您正在尝试将一个名为的文件写入index.html文件系统的根目录。只有 root 可以做到这一点。

如果您希望路径是相对的,请更改:

final = open('/index'+str(counter)+'.html','w')

至:

final = open('index'+str(counter)+'.html','w')

/注意前面的缺失index

于 2012-10-10T18:27:05.280 回答