小编Stu*_*Cat的帖子

使用字符作为bash中的分隔符获取最后一个字符串

现在我有这个:

echo "silly/horse/fox" | cut -d "/" -f3
fox
Run Code Online (Sandbox Code Playgroud)

但是无论我们有多少分隔符,我都希望能够得到最后一个字符串.

所以像"傻/马/狐狸/狮子"这样的东西会让我"狮子"

类似Python的string.split('/')[ - 1]

string bash

4
推荐指数
2
解决办法
516
查看次数

BeautifulSoup只获取td标记中的"常规"文本,而嵌套标记中没有任何内容

假设我的html看起来像这样:

<td>Potato1 <span somestuff...>Potato2</span></td>
...
<td>Potato9 <span somestuff...>Potato10</span></td>
Run Code Online (Sandbox Code Playgroud)

我有美丽的做法:

for tag in soup.find_all("td"):
    print tag.text
Run Code Online (Sandbox Code Playgroud)

我明白了

Potato1 Potato2
....
Potato9 Potato10
Run Code Online (Sandbox Code Playgroud)

是否可以只获取标签内的文本,而不是嵌套在span标签内的任何文本?

python beautifulsoup

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

Python烧瓶上传文件但不保存和使用

我的代码当前接收一个文件,并将其保存到预设目录,但是可以只使用该文件(读取文件)而不保存它吗?

@app.route('/', methods=['GET', 'POST'])
def upload_file():
    if request.method == 'POST':
        file = request.files['file']
        if file and allowed_file(file.filename):
            filename = secure_filename(file.filename)
            file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
            return "yatta"
        else:
            return "file not allowed"

    return render_template("index.html")
Run Code Online (Sandbox Code Playgroud)

我试过了两个

file.read()和file.stream.read()但是返回值为空.我验证该文件是否存在于上载的目录中,并看到该文件不为空.

python flask

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

mySQL INSERT IGNORE不会"忽略"

从我的理解INSERT IGNORE插入一个新条目,如果它尚不存在,如果它已经存在,忽略它.所以我一直试图这样做,但它似乎没有起作用.这是我的尝试:

insert insert ignore into rss_feeds (md5sum) values ("1234");
Query OK, 1 row affected (0.00 sec)

mysql> insert ignore into rss_feeds (md5sum) values ("1234");
Query OK, 1 row affected (0.00 sec)

mysql> insert ignore into rss_feeds (md5sum) values ("1234");
Query OK, 1 row affected (0.00 sec)

mysql> insert ignore into rss_feeds (md5sum) values ("1234");
Query OK, 1 row affected (0.00 sec)

mysql> select * from rss_feeds where md5sum="1234";
+------+--------+----------+---------+----------+--------+--------+---------+
| link | source | headline | updated | inserted …
Run Code Online (Sandbox Code Playgroud)

mysql

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

使用各种独特案例在Python中进行字符串解析

我的目标是将字符串转换为字典.这是它的样子:

[exploit] => 1
[hits] => 1
[completed] => 1
[is_malware] => 1
[summary] => 26.0@13965: suspicious.warning: object contains JavaScript
76.0@14467: suspicious.obfuscation using eval
76.0@14467: suspicious.obfuscation using String.fromCharCode

[severity] => 4
[engine] => 60
Run Code Online (Sandbox Code Playgroud)

所以我已经尝试了几种方法来做到这一点,第一次尝试是split\n,但我遇到了问题,对于[摘要],内容被拆分,所以不起作用.然后我的第二次尝试是split=>遇到问题,一旦我分裂=>它将不知道它必须拆分\n为下一个键.基本上它应该在最后看起来像{exploit:1,命中:1,完成:1 ....}等等

任何帮助将不胜感激.

python string parsing

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

Python peewee,根据经过的时间过滤查询

这是我的“请求”类/表:

class Request(BaseModel):
    TIME_STAMP = DateTimeField(default=datetime.datetime.now)
    MESSAGE_ID = IntegerField()
Run Code Online (Sandbox Code Playgroud)

对于 peewee,我想从表中选择过去 10 分钟内发生的所有“请求”。像这样的东西:

rs = Request.select().where(Request.TIME_STAMP-datetime.datetime.now<(10 minutes))
Run Code Online (Sandbox Code Playgroud)

但是,我不完全确定如何获取 TIME_STAMP 和当前时间(以分钟为单位)之间的差异。

编辑:我已经尝试过 Gerrat 的建议,但 Peewee 似乎哭了:

/usr/local/lib/python2.7/dist-packages/peewee.py:2356: Warning: Truncated incorrect DOUBLE value: '2014-07-19 15:51:24'
  cursor.execute(sql, params or ())
/usr/local/lib/python2.7/dist-packages/peewee.py:2356: Warning: Truncated incorrect DOUBLE value: '0 0:10:0'
  cursor.execute(sql, params or ())
Run Code Online (Sandbox Code Playgroud)

python peewee

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

Python SQLite如何使用'?'进行部分搜索?占位符?

假设我的查询如下所示:

q = SELECT * FROM MY_TABLE WHERE FIELD LIKE ?
cursor.execute(q, some_query_value)
Run Code Online (Sandbox Code Playgroud)

这似乎没有进行"包含"搜索,所以我尝试这样做

q = SELECT * FROM MY_TABLE WHERE FIELD LIKE %?%
cursor.execute(q, some_query_value)
Run Code Online (Sandbox Code Playgroud)

但是python似乎不喜欢这个.这样做的正确方法是什么?

python sqlite

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

如何将字典列表合并到字典键中:列表配对?

我正在尝试将带有共享密钥的字典列表合并到一个密钥中:列表配对,其中列表包含所有值.底部代码做到了,但它非常难看.我依稀记得能够在词典列表中使用reduce来实现这一点,但我不知所措.

  1 dictionaries =  [{key.split(',')[0]:key.split(',')[1]} for key in open('test.data').read().splitlines()]
  2 print dictionaries
  3 new_dict = {}
  4 for line in open('test.data').read().splitlines():                                                                                  
  5     key, value = line.split(',')[0], line.split(',')[1]
  6     if not key in new_dict:
  7         new_dict[key] = []
  8     new_dict[key].append(value)
  9 print new_dict
Run Code Online (Sandbox Code Playgroud)

输出:

[{'abc': ' a'}, {'abc': ' b'}, {'cde': ' c'}, {'cde': ' d'}]
{'cde': [' c', ' d'], 'abc': [' a', ' b']}
Run Code Online (Sandbox Code Playgroud)

test.data包含:

abc, a
abc, b
cde, c
cde, d
Run Code Online (Sandbox Code Playgroud)

python dictionary list python-2.7

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

使用外键为带有外键的表创建唯一索引

假设我有一个名为TBL_ACCOUNT的表,其中包含我的所有用户,还有一个名为TBL_EMAIL_SUBSCRIPTION的表,其中包含用户已订阅的提要。我正在尝试使其每个用户+ feed组合中只有一个条目,因此user1只能订阅一次feed1,但是user1可以同时订阅feed1和feed2。

这是我的模型的样子:

class TBL_ACCOUNT(BaseModel):
    USERNAME = CharField(unique=True)
    PASSWORD = CharField()
    EMAIL = CharField(unique=True)

class TBL_EMAIL_SUBSCRIPTION(BaseModel):
    USER = ForeignKeyField(TBL_ACCOUNT)
    FEED = CharField()

    class Meta:
        indexes = (("USER_id", "FEED", True))
Run Code Online (Sandbox Code Playgroud)

我也尝试过仅使用“ USER”作为索引,但是由于数据库仍然收到重复项,因此无法解决。

python sqlite orm peewee

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

填充文本后,在materializecss textareas上切换调整大小

说我有这个:

<div class="row">
    <form class="col s12">
      <div class="row">
        <div class="input-field col s12">
          <textarea id="textarea1" class="materialize-textarea"></textarea>
          <label for="textarea1">Textarea</label>
        </div>
      </div>
    </form>
</div>
Run Code Online (Sandbox Code Playgroud)

并说我的代码的一部分我运行这个:

$('#textarea1').text(someverylongstring)
Run Code Online (Sandbox Code Playgroud)

这个问题是我的textarea将保持"小",直到我点击它并向下箭头发现我添加到它的文本.当找到底部时,textarea会自动扩展到更大的文本区域以容纳内容.我的问题是,在将文本添加到textarea之后是否有办法强制切换元素的大小调整方面?

javascript jquery materialize

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