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したがって、ファイルシステムのルートに名前が付けられたファイルを書き込もうとしています。ルートだけがそれを行うことができます。

パスを相対パスにする場合は、次を変更します。

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

に:

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

/前の行方不明に注意してくださいindex

于 2012-10-10T18:27:05.280 に答える