在Python中,文件操作主要來自os模塊,主要方法如下:
os.listdir(dirname):列出dirname下的目錄和文件
os.getcwd():獲得當前工作目錄
os.curdir:返回當前目錄('.')
os.chdir(dirname):改變工作目錄到dirname
os.path.isdir(name):判斷name是不是一個目錄,name不是目錄就返回false
os.path.isfile(name):判斷name是不是一個文件,不存在name也返回false
os.path.exists(name):判斷是否存在文件或目錄name
os.path.getsize(name):獲得文件大小,如果name是目錄返回0L
os.path.abspath(name):獲得絕對路徑
os.path.normpath(path):規范path字符串形式
os.path.split(name):分割文件名與目錄(事實上,如果你完全使用目錄,它也會將最后一個目錄作為文件名而分離,同時它不會判斷文件或目錄是否存在)
os.path.splitext():分離文件名與擴展名
os.path.join(path,name):連接目錄與文件名或目錄
os.path.basename(path):返回文件名
os.path.dirname(path):返回文件路徑
利用Syntaxhighlighter和os將代碼格式化
import os
filepath = 'C:\\Users\\Administrator\\Desktop\\新建文件夾\\lib' # 要處理的文件
def GetFileList(dir): # 獲取路徑的所有文件
filelist = os.listdir(dir)
return filelist
def Html_file():
count = 1
for i in GetFileList(filepath):
html_header = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">"\
"<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\"> " \
"<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"/> " \
"<title>" + i + "</title> " \
"<link href=\"../SyntaxHighlighter.css\" type=\"text/css\" rel=\"stylesheet\"> " \
"<link href=\"../_template.css\" rel=\"stylesheet\"> " \
"<script type=\"text/javascript\" src=\"../shCore.js\"></script> " \
"<script type=\"text/javascript\" src=\"../jquery.js\"></script> " \
"<script type=\"text/javascript\"> " \
"$(document).ready(function () { " \
"$(\".article_content pre\").each(function () { " \
"var $this = $(this); " \
"if ($this.attr(\"class\").indexOf(\"brush:\") != -1) { " \
"var lang = $this.attr(\"class\").split(';')[0].split(':')[1]; " \
"$this.attr('name', 'code');" \
"$this.attr('class', lang);" + "}" \
"});"\
"dp.SyntaxHighlighter.HighlightAll('code'); "\
"});"\
"</script>"\
"<div class=\"article_content\"> "\
"<P><FONT color=\"#0000ff\" size=\"3\" face=\"Courier New\">" \
"<STRONG>" + i + "</FONT></STRONG></P> "\
"<p><textarea cols=\"88\" rows=\"5\" name=\"code\" class=\"Ruby\">"
print(i)
table_file = Compose_html(i, html_header)
filename = 'C:\\Users\\Administrator\\Desktop\\新建文件夾\\kk\\{}.html'.format(i)
print('正在準備生成第{}個文件,請等待!!!'.format(count))
with open(filename, "w+", encoding='utf-8') as f:
f.write(table_file)
print('第{}個文件生成完畢! 請查看!'.format(count))
count = count + 1
def Compose_html(i, html_header): # 合成頭和尾
file = 'C:\\Users\\Administrator\\Desktop\\新建文件夾\\lib\\' + i
with open(file, "r", encoding='utf-8') as b:
html_file = html_header + b.read()
return html_file
Html_file()