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

参考

【スターサーバー】【Perl】テキストカウンターを動作させる
#!/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

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

スポンサーリンク
コメント一覧
  • 名前:管理人 :

    コメントは、まだありません。