我对Python很陌生,就像几分钟前我刚刚完成一项任务一样,这是我第一次看到Python。基本上,我有一个index.html文件,一个页眉和页脚文件,然后是一些其他网页文件。我正在尝试使用Python在加载时将选择网页插入index.html页面,页眉和页脚已经存在。这是我收到的代码,带有#所示的伪代码。
#load main index.html
#mainHtml =
#mainHtml.replace('<!--HEADER_CONTENT-->', headerHtml)
#mainHtml.replace('<!--FOOTER_CONTENT-->', footerHtml)
copy_tree(srcLoc, buildLoc)
for dname, dirs, files in os.walk(buildLoc):
for fname in files:
fpath = os.path.join(dname, fname)
#todo only use html
print(fpath)
if '.html' in fpath:
print('html')
#create whole html page
#thisPageHtml =
#minify
#mainHtml_tmp is new mainHtml
#mainHtml_tmp.replace('<!--PAGE_CONTENT-->', thisPageHtml)
#write mainHtml_tmp to fpath
if '.scss' in fpath:
print('html')
#compile to css & minify
if '.js' in fpath:
print('js')
#minify
我想知道是否有人可以提供一些帮助,指导我正确的方向,向我解释如何做到这一点?如果我不够清楚,请告诉我,我会尝试更好地解释自己。
答案 0 :(得分:1)
以下是打开文件的相关位,假设您知道其路径,并读取和写入数据
with open(FILE_PATH, 'r') as f:
file_html = f.read()
mainHtml = mainHtml.replace('<!--FOOTER_CONTENT-->', file_html)
with open(OUTPUT_FILE_PATH, 'w') as fout:
fout.write(mainHTML)
您希望使用with open
样式,而不是手动打开和关闭文件。离开open
块后,用句柄打开关闭文件。
还将代码分解为函数。拥有一个长长的剧本并不会让你长期受益。例如,打开文件并替换给定字符串中的某些文本。
def open_and_replace(file_path, pattern_to_replace, string_to_format):
# open the file and read data into a variable called `data`
return string_to_format.replace(pattern_to_replace, data)
另请注意,有各种模板库,https://wiki.python.org/moin/Templating如果您觉得可以从中受益