gpt4 book ai didi

python - 编写程序生成日志

转载 作者:行者123 更新时间:2023-12-03 19:37:50 24 4
gpt4 key购买 nike

我的文本文件

192.168.10.20 - - [18/Jul/2017:08:41:37 +0000] "PUT/search/tag/list HTTP/1.0"200 5042 "http://cooper.com/homepage/""Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/5342 (KHTML, like Gecko) Chrome/14.0.870.0 Safari/5342"
10.30.24.3 - - [18/Jul/2017:08:45:15 +0000]“POST/search/tag/list HTTP/1.0”200 4939“http://www.cole-brown.net/category/main/list/privacy/""Mozilla/5.0 (X11; Linux i686) AppleWebKit/5322 (KHTML, like Gecko) Chrome/14.0.843.0 Safari/5322"
98.5.45.3 - - [18/Jul/2017:08:45:49 +0000] "GET/apps/cart.jsp?appID=8471 HTTP/1.0"200 4958 "http://knight-chase.com/post .jsp""Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10_7_3; rv:1.9.6.20) Gecko/2013-11-03 17:44:01 Firefox/3.8"
94.5.6.3 - - [18/Jul/2017:08:48:56 +0000] “GET/list HTTP/1.0” 200 4891 “http://thomas.com/explore/wp-content/homepage/” “Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_4; rv:1.9.5.20) Gecko/2013-02-19 05:36:22 Firefox/3.6.15"

预期来自用户的输入: 1) 生成的行数

2) 输出到文件或控制台

3) 在没有给出程序参数时提供帮助。

4) 确保程序生成的行数是该程序用户输入的行数。 (考虑大数)

python3 test.py --help(它应该显示帮助选项)

python3 test.py -N 20 -type console(它应该在控制台打印日志)

python3 test.py -N 10 -type log -name abc.log(它应该在文件中打印日志)

我的伪代码

 import sys
from itertools import islice

args = sys.argv
print (args)
#['file.py', 'datafile', '-N', '10']
if args[1] == '-h':
print ("-N for printing the number of lines: python file.py datafile -N 10")
if args[2] == '-N':
datafile = args[1]
number = int(args[3])
with open(datafile) as myfile:
head = list(islice(myfile, number))
head = [item.strip() for item in head]
print (head)
print ('\n'.join(head))

有没有比这更好的方法,比如argument passing

最佳答案

对于命令行参数,使用 Python 标准库 argparse :

import argparse

parser = argparse.ArgumentParser()
parser.add_argument("type")
args = parser.parse_args()

if args.type == "console":
print("log to console here")
elif args.type == "log":
# log to file here
pass

关于python - 编写程序生成日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58851860/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com