小编ppp*_*ery的帖子

异常子类的 args 属性类型从字符串更改为元组

这在 python2.6 和 python3 上都会发生:

class Error(Exception):
    def __init__(self, args):
            print(type(args))
            print(type(self.args)) # From BaseException
            self.args = args
            print(type(self.args))

Error("foo")
Run Code Online (Sandbox Code Playgroud)

这导致:

<type 'str'>
<type 'tuple'>
<type 'tuple'>
Error('f', 'o', 'o')
Run Code Online (Sandbox Code Playgroud)

由于某种原因,args 属性被强制转换为元组。它是在 C 中定义的事实可能与此有关吗?https://github.com/python/cpython/blob/master/Objects/exceptions.c

args 参数的名称是不相关的。只要将其分配给 self.args,将其更改为“a”就会产生相同的行为。

python

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

为什么collections.Counter是大写而collections.defaultdict不是?

模块中的某些元素collections似乎是大写的,而另一些则不是。其背后是否有具体的理由?

python collections class-names python-collections

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

在初始化器中使用对象方法(同一行)

我正在清理python对象类,主要关注如何创建对象。该__init__方法创建一个空字典,几乎需要立即填充它。但这不应该在中发生__init__,因为使用的方法会有很大差异。这是一个例子:

class Storage:

    def __init__(self):
        self.data = {}

    def fill_1(self):
        self.data['solo'] = 'all alone'

    def fill_2(self, buddy, bff):
        self.data['buddy'] = buddy
        self.data['bff'] = bff

    def fill_3(self, that_guy, house):
        self.data[that_guy] = house
Run Code Online (Sandbox Code Playgroud)

通常,我可以这样一个接一个地打电话:

box = Storage.Storage()
box.fill_1()
Run Code Online (Sandbox Code Playgroud)

但是,当我顺序创建许多这些对象时,这可能会令人不知所措。我的目标是将__init__方法与fill同一行中的一种方法一起使用。我尝试使用以下电话:

box = Storage.Storage().fill_1()
Run Code Online (Sandbox Code Playgroud)

但这不会创建对象,而是返回None。所以我有两个问题:

我的代码是否由于行正在调用实例方法而返回None对象?

以及如何创建Storage对象,然后fill在同一行中调用它的方法?

python initialization object python-2.7

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

组合框值显示为单个字符串字符

我正在利用 python/tkinter 创建一个电子表格来收集制造车间的问题。

我有 (2) 个组合框。

第一个组合框从给定的dictionary.keys() 获取其“值”,该字典更新第二个组合框的“值”。但是,在选择第一个组合框后选择第二个组合框的值时,这些值仅显示dictionary.values() 中的单数字符。

这是 txt 文件中的列表。每行的第一项是键,而同一行的其余项是其值。

Bondshop, Plies: Layup Difficulty, Plies: Cutting Edge
IB Postbond, POU, Equipment, Inspection, Available Work Space, Big Paint, 1575, QN
General Postbond, Inspection
Seal Area, Inspection
Big Paint, Inspection
Deflash, Inspection
Run Code Online (Sandbox Code Playgroud)

为什么我的第二个组合框会这样出现?见下文。

“...显示奇异字符”...

    ===snip===

        def loadcategory(self):
        
             # Reads production areas & cateogries from dictCategory.txt file
             self.textfileCategory = open('dictCategory.txt', 'r')
             self.lines_category = self.textfileCategory.readlines()
             for line in self.lines_category:
                 splitLine = line.split(',')
                 dict_category[str(splitLine[0])] = ",".join(splitLine[1:])
             self.textfileCategory.close()

    ===snip===  

        def UpdateData(self, event):
        
            # Updates Category …
Run Code Online (Sandbox Code Playgroud)

python tkinter

5
推荐指数
0
解决办法
681
查看次数

在python中没有空格的分句(nltk?)

我有一组连接的单词,我想将它们分成数组

例如 :

split_word("acquirecustomerdata")
=> ['acquire', 'customer', 'data']
Run Code Online (Sandbox Code Playgroud)

我找到了pyenchant,但它不适用于64位窗口.

然后我尝试将每个字符串拆分为子字符串,然后将它们与wordnet进行比较以找到相应的单词.例如 :

from nltk import wordnet as wn
def split_word(self, word):
    result = list()
    while(len(word) > 2):
        i = 1
        found = True
        while(found):
            i = i + 1
            synsets = wn.synsets(word[:i])
            for s in synsets:
                if edit_distance(s.name().split('.')[0], word[:i]) == 0:
                    found = False
                    break;
        result.append(word[:i])
        word = word[i:]
   print(result)
Run Code Online (Sandbox Code Playgroud)

但是这个解决方案不确定并且太长.所以我在寻求你的帮助.

谢谢

python spell-checking nltk wordnet

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

多处理numpy未定义错误

我正在使用以下测试代码:

from pathos.multiprocessing import ProcessingPool as Pool
import numpy

def foo(obj1, obj2):
   a = obj1**2
   b = numpy.asarray(range(1,5))
   return obj1, b

if __name__ == '__main__':
    p = Pool(5)
    res = p.map(foo, [1,2,3], [4,5,6])
Run Code Online (Sandbox Code Playgroud)

它给出了错误:

File "C:\Python27\lib\site-packages\multiprocess\pool.py", line 567, in get
    raise self._value
NameError: global name 'numpy' is not defined
Run Code Online (Sandbox Code Playgroud)

我在代码中做错了什么?

编辑:为什么这个问题被否决了两次?

我已经安装了 numpy 并且我的解释器一直在正确使用它,直到我尝试将其用于多处理。我已经用相同的安装编码了一段时间。

python numpy multiprocessing pathos

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

在 Spark Dataframe 中解码 Base64

钥匙 价值 话题 分割
无效的 dGVzdF90ZXh0 主题名称 0
无效的 dGVzdF90ZXh0 主题名称 0
无效的 dGVzdF90ZXh0 主题名称 0

df_1

我有一个 Spark 数据框,其中列value是 Base64 编码的。我希望能够在数据框的末尾添加一个带有未编码版本的列。

import base64

df_2 = df_1.withColumn('unencoded_base64',base64.b64decode(df_1.value))
Run Code Online (Sandbox Code Playgroud)

上面的代码给了我错误:

TypeError: a2b_base64() argument 1 must be convertible to a buffer, not Column
Run Code Online (Sandbox Code Playgroud)

base64 apache-spark apache-spark-sql pyspark

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

spark.read.option()中的可用选项

当我阅读其他人的python代码(如)时spark.read.option("mergeSchema", "true"),似乎编码人员已经知道要使用什么参数。但是对于初学者来说,是否有地方可以查找这些可用参数?我查找apche文档,并显示未记录的参数。

谢谢。

python python-3.x apache-spark

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

如何使用 Python 3 停止线程内的 youtube-dl 下载

我有一个从特定 URL 下载视频的函数,我通过线程启动此函数以避免 GUI 冻结,但我想要一个函数来停止或暂停下载。这个怎么做?这是代码:

def download_videos(self):
     ydl1 = youtube_dl.YoutubeDL(self.get_opts())
     if self.get_Urls().__len__() > 0:
         ydl1.download(self.get_Urls())

def downloadVideoThrd(self):
    self.t1 = threading.Thread(target=self.download_videos())
    self.t1.start()
Run Code Online (Sandbox Code Playgroud)

python multithreading python-3.x youtube-dl

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

“如何使用 CREATE 方法修复 python IDE 中 sql 中已存在的错误表?”

当我使用时,错误不断弹出Pycharm

Traceback (most recent call last):
  File "C:/Users/aaa/.PyCharmCE2019.2/config/scratches/sql_class.py", line 11, in <module>
    cur.execute(customers_sql)
sqlite3.OperationalError: table customers already exists
Run Code Online (Sandbox Code Playgroud)

我正在使用Pycharm导入 sqlite3

import sqlite3
con = sqlite3.connect('data_info.sqlite3')
# 'connect' is similar to 'open' in a text file
cur = con.cursor()
# instantiate a cursor obj
customers_sql = """
      CREATE TABLE customers (
      id integer PRIMARY KEY,
      first_name text NOT NULL,
      last_name text NOT NULL)"""
cur.execute(customers_sql)


products_sql = """
      CREATE TABLE products (
      id integer PRIMARY KEY,
      name text …
Run Code Online (Sandbox Code Playgroud)

python sql python-3.x

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