私はPythonを全く知らないが、すぐにこのスクリプトを実行しなければならない。私はオンラインで同様の問題を探しましたが、正確なシナリオを見つけることはできません。存在しないファイルを探しているPythonスクリプト
私は、access_logからユーザ名と日付を出力するスクリプトnameTime.pyを実行しました。このリストには、ログ内の各ユーザの数と名前がリストに含まれています。スクリプトが終了せず、次のエラーが出力されました。
Traceback (most recent call last):
File "./nameTime.py", line 19, in <module>
f=open(file,'r')
IOError: [Errno 2] No such file or directory: 'access_log-20150215'
/etc/httpd/logsから/ opt/logsにコピーします。そのディレクトリ内の唯一のaccess_logです。 BTWは、変更されたos.chdir(...)コマンドとfile.startswith(...)コマンドの場合と全く同じスクリプトで、サブディレクトリ/ opt/logs/ionで動作します(ただし、存在しないファイルはありません) 。スクリプトの
ファーストライン:
import os
import re
os.chdir("opt/logs")
user = []
dates = []
userlist = set()
userPerDay = []
name = re.compile(r'\s[A-Z][A-Z\s*]+\.[A-Z]+[A-Z\s*]*\.[A-Z]+[A-Z\s*]*(?=\.[0-9]+)')
longname = re.compile(r'\s[A-Z][A-Z\s*]+\.[A-Z]+[A-Z\s*]*\.[A-Z]+[A-Z\s*]*\.[A-Z]+[A-Z\s*](?=\.[0-9]+)')
date = re.compile('[0-3][0-9]\/[A-Za-z]+\/[0-9]+(?=:)')
for root, dirs, files in os.walk("./"):
for file in files:
if file.startswith("access_"):
f=open(file,'r')
名前「ファイル」はまだその古いファイル名の値が含まれているようです。私は、スクリプト内でその値に割り当てられた名前 "ファイル"は一切見ません。私はこのスクリプトが/ opt/logs、access_log内の唯一のアクセスログを処理するようにしたいので、明らかに古い値をクリアする必要があります。どうすればいいのですか?
「...」の内容を表示してください。 –
私は現時点では(仕事ではない)あなたを見ることができませんが、それはアルファベットと数字の書式設定です。私は明日にそれを入力することを嬉しく思うでしょう。 – Svardkvinna
あなたはまだあなたの質問にコードを編集していません。あなたの質問にそれを含めるように[編集]してください。 –