我有一个基本的HTML文件,如下所示:
<!DOCTYPE html>
<html>
<head>
<title>Home</title>
</head>
<body>
<h1>Welcome!</h1>
</body>
</html>
我在python中接收文件并将其存储为字符串。我想知道,有没有办法将其写入网络浏览器?
该文件在我的计算机上,所以我的目标不是将其保存为html文件然后执行它,而是从python中执行此操作到浏览器。
我知道使用JavaScript我可以使用Document.write()
将内容注入网页,但这已经在浏览器中完成了。我想实现类似的目标。
答案 0 :(得分:2)
您可以使用flask
这个简单的Python Web框架来提供字符串:
使用flask
(pip install flask
):
import flask
app = flask.Flask(__name__)
s = """
<!DOCTYPE html>
<html>
<head>
<title>Home</title>
</head>
<body>
<h1>Welcome!</h1>
</body>
</html>
"""
@app.route('/')
def home():
return s
if __name__ == '__main__':
app.debug = True
app.run()
现在,您可以导航到127:0.0.1:5000
或运行应用时指定的等效IP和端口。
答案 1 :(得分:1)
您可以执行以下操作:
def gradient(im):
# Sobel operator
op1 = np.array([[-1, 0, 1],[-2, 0, 2],[-1, 0, 1]])
op2 = np.array([[-1, -2, -1],[ 0, 0, 0],[ 1, 2, 1]])
kernel1 = np.zeros(im.shape)
kernel1[:op1.shape[0], :op1.shape[1]] = op1
kernel1 = np.fft.fft2(kernel1)
kernel2 = np.zeros(im.shape)
kernel2[:op2.shape[0], :op2.shape[1]] = op2
kernel2 = np.fft.fft2(kernel2)
fim = np.fft.fft2(im)
Gx = np.real(np.fft.ifft2(kernel1 * fim)).astype(float)
Gy = np.real(np.fft.ifft2(kernel2 * fim)).astype(float)
G = np.sqrt(Gx**2 + Gy**2)
Theta = np.arctan(Gy, Gx) * 180 / np.pi
return G, Theta
def nonMaximumSuppression(image):
det, phase = self.gradient(image)
gmax = np.zeros(det.shape)
for i in range(gmax.shape[0]):
for j in range(gmax.shape[1]):
if phase[i][j] < 0:
phase[i][j] += 360
if ((j+1) < gmax.shape[1]) and ((j-1) >= 0) and ((i+1) < gmax.shape[0]) and ((i-1) >= 0):
# 0 degrees
if (phase[i][j] >= 337.5 or phase[i][j] < 22.5) or (phase[i][j] >= 157.5 and phase[i][j] < 202.5):
if det[i][j] >= det[i][j + 1] and det[i][j] >= det[i][j - 1]:
gmax[i][j] = det[i][j]
# 45 degrees
if (phase[i][j] >= 22.5 and phase[i][j] < 67.5) or (phase[i][j] >= 202.5 and phase[i][j] < 247.5):
if det[i][j] >= det[i - 1][j + 1] and det[i][j] >= det[i + 1][j - 1]:
gmax[i][j] = det[i][j]
# 90 degrees
if (phase[i][j] >= 67.5 and phase[i][j] < 112.5) or (phase[i][j] >= 247.5 and phase[i][j] < 292.5):
if det[i][j] >= det[i - 1][j] and det[i][j] >= det[i + 1][j]:
gmax[i][j] = det[i][j]
# 135 degrees
if (phase[i][j] >= 112.5 and phase[i][j] < 157.5) or (phase[i][j] >= 292.5 and phase[i][j] < 337.5):
if det[i][j] >= det[i - 1][j - 1] and det[i][j] >= det[i + 1][j + 1]:
gmax[i][j] = det[i][j]
return gmax