小编Luc*_*man的帖子

用python挤压字符

我将如何使用python执行此操作:

如果我有一个格式如下的字符串:

A..a.b.c
Run Code Online (Sandbox Code Playgroud)

使它像:

A.a.b.c
Run Code Online (Sandbox Code Playgroud)

但我事先不知道我有多少个点?

这就像linux中的tr -s函数

python regex

1
推荐指数
2
解决办法
1235
查看次数

Python:当脚本使用顺序写入操作运行时,文件为空

所以我写了一个简单的脚本,将一些行写入文件:

f = open('file.txt','w')
while(operator): 
      f.write("string")
f.close()
Run Code Online (Sandbox Code Playgroud)

问题是,当脚本运行时,文件仍为空,只有当脚本完成并关闭文件时,内容才会显示.发生了什么以及如何使脚本运行时脚本写入文件的内容立即可见?

我正在运行BackTrack 5来运行脚本.

python file

1
推荐指数
1
解决办法
1193
查看次数

Flask可插入视图和登录需要

我理解可插拔视图的工作原理.我目前不明白的是如何添加一个类扩展视图所需的登录.我目前这样做:

from flask.views import View

class ShowUsers(View):

    def dispatch_request(self):
        users = User.query.all()
        return render_template('users.html', objects=users)

app.add_url_rule('/users/', view_func=ShowUsers.as_view('show_users'))
Run Code Online (Sandbox Code Playgroud)

那么如何强制登录这个类/函数?

python flask

1
推荐指数
1
解决办法
956
查看次数

Python mysqldb返回插入的行,但mysql返回一个空集

我使用mysqldb插入一行:

 def insertNewLog(self,uid,beginDate,endDate,logs):
        qry1 = """INSERT INTO logs (owner,createDate,endDate,log) VALUES (%s,%s,%s,%s); """ 
        cursor = self.db.cursor()
        beginDate = int(time.mktime( beginDate.timetuple() ))
        endDate = int(time.mktime( endDate.timetuple()))
        print beginDate
        print endDate 
        cursor.execute(qry1,(uid,beginDate,endDate,logs),)
        print "inserted normally"
        print "Number of rows inserted: %d" % cursor.rowcount
Run Code Online (Sandbox Code Playgroud)

我得到这个输出:

1337720045
1337740625
inserted normally
Number of rows inserted: 1
Run Code Online (Sandbox Code Playgroud)

但是当我在mysql shell中选择我的数据库时,我得到'空集'.我检查我的mysql日志,那里没有任何报告.我有点困惑.

python mysql mysql-python

0
推荐指数
1
解决办法
502
查看次数

Python:线程不会启动

我有一个继承自threading.Thread. 由于某种原因,线程不想启动。

这是我的代码:

import time,threading,re,socket


class PyWatch(threading.Thread):

    filename = ""


    def __init__(self,filename):
        threading.Thread.__init__(self)
        print "initiating..."
        self.filename = filename


     def run(self):
        print "running..."
        thefile = open (self.filename)
        thefile.seek(0,2)      # Go to the end of the file
        while True:
                line = thefile.readline()
                if not line:
                     time.sleep(0.1)    # Sleep briefly
                     continue
                yield line
                self.process(line)


    def process(self,line):
        ip =  self.filterIPFromLine(line)
        print ip                

    def filterIPFromLine(self,line):
        ip = None
        if '/var/ossec/active-response/bin/firewall-drop.sh' in  str( line ).lower():
            ip = re.match( "(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])" )

            try:
                socket.inet_aton(ip[0])
                ip = …
Run Code Online (Sandbox Code Playgroud)

python multithreading

0
推荐指数
1
解决办法
3163
查看次数

保留一个列表以防止Python中的重复效率

我在使用包含一些重复ID的csv数据源时遇到了一些麻烦.然而,最终结果应该只有ID一次.因此,我们决定只采用我们看到的第一个实例并忽略任何其他实例.

目前我的代码是这样的:

id_list = list()
for item in datasource: 
    if item[0] not in id_list:
        #process
        id_list.append(item[0])
Run Code Online (Sandbox Code Playgroud)

问题是当列表增长时,性能会下降.我想知道是否有更有效的方法来跟踪已处理的ID?

python list

0
推荐指数
1
解决办法
51
查看次数

标签 统计

python ×6

file ×1

flask ×1

list ×1

multithreading ×1

mysql ×1

mysql-python ×1

regex ×1