【Python】テキストカウンターを動作させる

  • 投稿 : 2020-03-06

参考

#!/usr/bin/perluse CGI::Carp qw(fatalsToBrowser);print "Content-type: text/html; charset=UTF

ブログ運営のためのブログカスタマイズ

PerlのテキストカウンターのロジックをほぼそのままPythonに移植してみました。

サンプル

#!/usr/bin/python3.6
# -*- coding: utf-8 -*-

import io , sys ,locale
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')

import fcntl

# 読み書きモードで開く
fd = open("counter.txt", "r+")

# ファイルをロックする
fcntl.flock(fd.fileno(), fcntl.LOCK_EX)

count = fd.read()

icount = int(count)
icount += 1

count = str(icount)

# 書き込み位置を先頭に戻す
fd.seek(0)

fd.write(count)

fcntl.flock(fd.fileno(), fcntl.LOCK_UN)
fd.close()


print("Content-Type: text/html;charset=utf-8\n\n")
print("<html>\n")
print("<body>\n")
print("<p>あなたは")
print(count)
print("人目のお客様です</p>\n")
print("</body>\n")
print("</html>\n")

1行目は、レンタルサーバー毎に違います。

上記をcounter.cgiとして、UTF-8、改行LFで保存して転送。
counter.cgi パーミッションを755

0

上記を、counter.txtとして保存して、転送
counter.txt パーミッションを666

上記を配置して、動作させてみてくださいね。

スポンサーリンク