私信  •  关注

balderman

balderman 最近创建的主题
balderman 最近回复了
2 年前
回复了 balderman 创建的主题 » python中web报废中的属性错误

当需要获取元素的文本时,请使用下面的函数。
它会保护你免受伤害 None 元素

def get_text(book_soup,clazz):
  ele = book_soup.find(class_=clazz)
  return ele.text.strip() if ele is not None else ''

实例而不是

    name=book_soup.find(class_='col-sm-6 product_main').text.strip()

    name=get_text(book_soup,'col-sm-6 product_main')
2 年前
回复了 balderman 创建的主题 » 如何在python bs4中使用xpath获取字符串?

试试下面的( 不需要外部库 )

import xml.etree.ElementTree as ET

xml = """
<html>
<head>
</head>
<body>
   <div class="container">
      <section id="page">
         <div class="content">   
            <div class="box">  
               <ul>
                  <li>Name: Peter</li>
                  <li>Age: 21</li>
                  <li>Status: Active</li>
               </ul> 
            </div>
         </div>
      </section>
   </div>
</body>
</html>
"""
root = ET.fromstring(xml)
print(root.find('.//ul')[-1].text)

输出

Status: Active
2 年前
回复了 balderman 创建的主题 » 在python中,有什么方法可以计算一维数组的值减法吗?

下面这句话似乎管用

arr1 = [[1,2,3],[5,6,7]]
arr = [x - arr1[0][idx] for idx,x in enumerate(arr1[1])]
print(arr)

乌尔普特

[4, 4, 4]
2 年前
回复了 balderman 创建的主题 » 在Python中从数据库调用类和函数名

下面的代码是您需要遵循的方向。代码从用户那里获取输入(您的代码将用DB call替换它),并执行适当的函数。

import inspect

import sys


def display_1():
    print('display_1')


def display_2():
    print('display_2')


funcs = {name: obj for name, obj in inspect.getmembers(sys.modules[__name__]) if inspect.isfunction(obj)}
func_id = input('Type func id:')
final_name = 'display_{}'.format(func_id)
func = funcs.get(final_name)
if not func:
    print('cant find the func ' + final_name)
else:
    func()
5 年前
回复了 balderman 创建的主题 » Flask和Python,尝试从窗体读取时不允许使用方法

尝试将nazwy_graczy.html修改为:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<form method="post" action="http://localhost:5000/index">
    <div>
        <p><input type="text" class="form-control" id="username1" name="username" placeholder="Wpisz nazwę użytkownika">
        </p>
        <p><input type="text" class="form-control" id="username2" name="username" placeholder="Wpisz nazwę użytkownika">
        </p>
        <p><input type="text" class="form-control" id="username3" name="username" placeholder="Wpisz nazwę użytkownika">
        </p>
        <p><input type="text" class="form-control" id="username4" name="username" placeholder="Wpisz nazwę użytkownika">
        </p>
    </div>

    <input type="submit" value="Submit">
</form>


</body>
</html>
5 年前
回复了 balderman 创建的主题 » Python Selenium-获取ref值

XPATH

//p[@class='sc-eYdvao kvdWiq']/a

返回要查找的元素。

将数据写入CSV文件与刮削挑战无关。只要看看例子,你就能做到。

尝试

in_lst = ['student1', 10, 20, 40, 'student2', 20, 20, 40, 'student3', 20, 30, 40, 'student4', 20, 10, 30]
out_lst = []
for x in range(0, len(in_lst), 4):
    student_entry = in_lst[x:x + 4]
    out_lst.append(student_entry[0])
    out_lst.append(sum(student_entry[1:]))
print(out_lst)

输出

['student1', 70, 'student2', 80, 'student3', 90, 'student4', 60]
5 年前
回复了 balderman 创建的主题 » Pandas-如何从Python的datetime列中提取HH:MM?

一般解决方案(不基于熊猫)

import time
top = '2018-07-25 11:14:00'
time_struct = time.strptime(top, '%Y-%m-%d %H:%M:%S')
short_top = time.strftime('%H:%M', time_struct)
print(short_top)

输出

11:14
5 年前
回复了 balderman 创建的主题 » 如何在Python中构造具有多个特性的元素

您可以使用namedtuple这是一种有效的数据格式。

from collections import namedtuple

Element = namedtuple('Element', 'color size id name')

ELEMENTS_DB = {'e1':Element('green', 12, 34, 'jack'),
               'e2':Element('blue', 132, 334, 'dan'),
               'e3':Element('green', 142, 434, 'ben')}

# get green elements
green_elements = [e for e in ELEMENTS_DB.values() if e.color == 'green']
print(green_elements)
# get 'e3' 
print(ELEMENTS_DB['e3'])

输出:

[Element(color='green', size=12, id=34, name='jack'), Element(color='green', 
  size=142, id=434, name='ben')]
Element(color='green', size=142, id=434, name='ben')
5 年前
回复了 balderman 创建的主题 » python readlines()3.x到2.x

请尝试以下代码:(我认为它将与python版本一起工作>=2.6)

with open('lines.txt','r') as f:
    lines = f.readlines()
    for line in lines:
       print(line.strip())
5 年前
回复了 balderman 创建的主题 » 在python中与pandas一起实现sqlite sort by函数和select函数

“输出必须根据'id'进行排序。但我不希望输出id。我如何实现这一点?”

SELECT date, content FROM GkData WHERE content LIKE %something% ORDER BY id ASC