私はこれとしばらくの間闘ってきました。私はPythonでフォルダの内容に基づいてhtmlを修正しようとしています。しかし、私がそれを修正しようとするたびに、すべてがクラッシュするでしょう。私はPythonだけでなくHTMLも新しくなっています。私はそれを修正するためにHTMLファイルといくつかのサブ機能をロードしたクラスを作った:html文字列をPythonに置き換える
class htmlfile(object):
data = ""
def openHTML(self, name="main.html"):
# f = open('main.html')
# for line in f:
# #print line.replace("Thinominal", "")
with open(name) as myHtml:
data = myHtml.read()
self.data = data
# def __repr__(self):
# return "Test()"
def __str__(self):
return self.data
def replace(self, location, insert):
self.data.replace(location, insert)
def makeBackground(self, location):
self.data.replace("backgrounds: [", "backgrounds: ["+ getPhotos2())
と他の機能のフォルダから「コンテンツ」/写真のリストを取得し、後でに挿入されるだろう文字列を返すようにHTML:
def getPhotos2(dir, type="jpg"): # get Photo from a directory with a chosen Type. Default Type = jpg
os.chdir(dir)
data = ""
for file in glob.glob("*.%s" % type):
data = data + "{src: '%s/%s', fade: 2000}," % (dir, file)
return data
が、私はこれを実行するたびに、このエラーが表示さ:
self = <__main__.htmlfile object>, self.data = '<!DOCTYPE html>\r\n<html lang="en">\r\n<head>\r\n <...\n</script>\r\n<!-- /Navbar-->\r\n\r\n</body>\r\n\r\n</html>', self.data.toString undefined, global getPhotos2 = <function getPhotos2>
私は理解していません。 pythonが文字列/テキストファイルとしてhtmlを開いていませんか?それを印刷しますか?あなただけの場合:
html = """ <head>Hello World</head>"""
print html
これは動作します。あなたもできる:
html.replace("hello world", "BYE BYE")
あまりにも。それで私はここで何が間違っていたのですか?何か不足していますか?どんなアドバイスもありがとうございます。私はそれがSTRINGだったかのようにHTML形式のいずれかの部品を交換するには、ちょうどできたい
htmlfile = htmlfile()
htmlfile.openHTML()
htmlfile.makeBackgroud("background")
print htmlfile
:
これはどのように私は、関数を呼び出しています。例えば: これを手動で移入さ:
backgrounds: [
{src: './img/nature1.jpg', fade: 2000},
{src: './img/bw1.jpg', fade: 2000},
{src: './img/portrait1.jpg', fade: 2000},
{src: './img/portrait5.jpg', fade: 2000},
{src: './img/portrait2.jpg', fade: 2000},
{src: './img/portrait3.jpg', fade: 2000},
{src: './img/portrait4.jpg', fade: 2000},
{src: './img/forest.jpg', fade: 2000}
]
を「makeBackground」機能と、それはそれらの文字列を生成し、HTMLの中にそれを挿入します。 coolImg.jpgを含むフォルダコールバックグラウンドがある場合。背景を生成させる:{src: './img/coolImg.jpg', fade: 2000}
とそれを "背景:"セクションに挿入します。結果:
backgrounds: [
{src: './img/nature1.jpg', fade: 2000},
{src: './img/bw1.jpg', fade: 2000},
{src: './img/portrait1.jpg', fade: 2000},
{src: './img/portrait5.jpg', fade: 2000},
{src: './img/portrait2.jpg', fade: 2000},
{src: './img/portrait3.jpg', fade: 2000},
{src: './img/portrait4.jpg', fade: 2000},
{src: './img/forest.jpg', fade: 2000},
{src: './background/coolImg.jpg', fade: 2000} <- THIS HERE
]
あなたは何もエラーを表示していません。あなたはどこで機能を呼びますか?結果はどうしていますか? –
関数をどのように呼び出すのか、またどのようなことを達成したいのかをお知らせください。例が役に立ちます。 – Ajay2588
申し訳ありません。私はどのように関数を呼び出してコードを編集しました。 – Rook