小编Ana*_*mar的帖子

将Long转换为Varchar2

我试图从长列插入varchar2列.这是下面的例子,TEXT.TEXT_COL = VARCHAR2(4000)NOTE.TEXT_NOTE = LONG.

INSERT INTO TEXT(ROW_ID, TEXT_COL)
SELECT 1, TEXT_NOTE FROM NOTE; 
Run Code Online (Sandbox Code Playgroud)

当我运行上面的SQL我得到错误

SQL错误:ORA-00997:非法使用LONG数据类型

我也用过TO_LOB(),但仍然是同样的错误.

是否有任何功能只是简单地转换long并放入其中varchar2.让我知道你的想法.

sql oracle

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

publish()至少需要3个参数(给出3个参数)

我正在使用ceilometer python API并将数据发布到pubnub.不确定这个错误是什么意思.

这是导致我认为的问题的代码的一部分,

def init_Data(data, channel):
  cpu_sample = cclient.samples.list(meter_name ='cpu_util')
  for each in cpu_sample:
    timetamp = each.timestamp
    volume =  each.counter_volume
    volume_int = int(volume)
    data_volume ={'value': volume_int}
    data=json.dumps(data_volume)
    print (data)


pubnub.publish(channel='orbit_channel', callback= init_Datar)
Run Code Online (Sandbox Code Playgroud)

python function ceilometer

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

如何在 Python 中解析带有编码声明的 XML 文件?

我有这个 XML 文件,名为xmltest.xml

<?xml version="1.0" encoding="GBK"?>
<productMeta>
    <bands>1,2,3,4</bands>
    <imageName>TestName.tif</imageName>  
    <browseName>TestName.jpg</browseName>
</productMeta>
Run Code Online (Sandbox Code Playgroud)

我有这个 Python 虚拟代码:

import xml.etree.ElementTree as ET
xmldoc = ET.parse('xmltest.xml')
Run Code Online (Sandbox Code Playgroud)

但它提出了一个ValueError

ValueError:不支持多字节编码

我理解这个错误,它引发的原因是 XML 文件第一行中的编码声明。XML 文件采用 UTF-8 编码,但始终具有该声明(我不是要分析的 XML 文件的创建者)。在解析前一个 XML 文件时,如何避免这种编码声明?

python xml encoding

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

从列表列表中的字符串中删除字符

我正在尝试格式化一些数据以执行分析.我正试图'*'从一开始的所有字符串中删除 .这是一个数据片段:

[['Version', 'age', 'language', 'Q1', 'Q2', 'Q3', 'Q4', 'Q5', 'Q6', 'Q7', 'Q8', 'Q9', 'Q10', 'Q11', 'Q12', 'Q13', 'Q14', 'Q15', 'Q16', 'Q17', 'Q18', 'Q19', 'Q20', 'Q21', 'Q22', 'Q23', 'Q24', 'Q25', 'Q26', 'Q27', 'Q28', 'Q29', 'Q30', 'Q31', 'Q32', 'Q33', 'Q34', 'Q35', 'Q36', 'Q37', 'Q38', 'Q39', 'Q40', 'Q41', 'Q42', 'Q43', 'Q44', 'Q45'], ['1', '18 to 40', 'English', '*distort', '*transfer', '*retain', 'constrict', '*secure', '*excite', '*cancel', '*hinder', '*overstate', 'channel', '*diminish', '*abolish', '*comprehend', '*tolerate', '*conduct', '*destroy', '*foster', 'direct', '*challenge', 'forego', '*cause', '*reduce', 'interrupt', …
Run Code Online (Sandbox Code Playgroud)

python string replace list

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

使用Python请求登录论坛

我正在尝试使用python请求登录论坛.这是我试图登录的论坛:http://fans.heat.nba.com/community/

这是我的代码:

import requests
import sys

URL = "http://fans.heat.nba.com/community/index.php?app=core&module=global&section=login"

def main():
    session = requests.Session()

    # This is the form data that the page sends when logging in
    login_data = {
        'ips_username': 'username',
        'ips_password': 'password',
        'signin_options': 'submit',
        'redirect':'index.php?'
    }

    r = session.post(URL, data=login_data)

    # Try accessing a page that requires you to be logged in
    q = session.get('http://fans.heat.nba.com/community/index.php?app=members&module=messaging&section=view&do=showConversation&topicID=4314&st=20#msg26627')
    print(session.cookies)
    print(r.status_code)
    print(q.status_code)

if __name__ == '__main__':
    main()
Run Code Online (Sandbox Code Playgroud)

URL是论坛上的登录页面.使用'q'变量,会话尝试访问论坛(私人信使)上的某个网页,只有在您登录时才能访问该网页.但是,该请求的状态代码返回'403',这意味着我无法成功登录.

为什么我无法登录?在'login_data'中,'ips_username'和'ips_password'是HTML表单.但是,我相信我有实际的登录命令('signin_options','redirect')错误.

有人可以指导我正确的登录命令吗?

python python-3.x python-requests

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

基于Python文本的游戏没有调用正确的房间

我正在写一个基于文本的游戏,我想将每个房间连接到其他四个房间 - 北,南,东和西.我现在正从北方开始.用户应该能够键入'walk north'并且应该调用north room.

我使用了三个文件 - 一个用于编写主要故事,一个用于调用故事中的适当房间,另一个用于导航以避免相互导入.

rooms.py:

import actions

class FirstRoom(object):

    room_name = 'FIRST ROOM'
    north = 'north_room'

    def __init__(self):
        pass

    def start(self):
        print self.room_name
        while True:
            next = raw_input('> ')
            actions.walk(next, self.north)
            actions.command(next)


class North(object):

    room_name = "NORTH ROOM"

    def __init__(self):
        pass

    def start(self):
        print self.room_name
Run Code Online (Sandbox Code Playgroud)

actions.py:

import navigation

def walk(next, go_north):
    """Tests for 'walk' command and calls the appropriate room"""
    if next == 'walk north':
        navigation.rooms(go_north)
    else:
        pass
Run Code Online (Sandbox Code Playgroud)

navigation.py:

import rooms
first_room = rooms.FirstRoom()
north_room = …
Run Code Online (Sandbox Code Playgroud)

python oop namespaces class python-import

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

并排连接两个列表

我正在寻找以下最短的方式(一线解决方案)

a = ["a", "b", "c"]
b = ["w", "e", "r"]
Run Code Online (Sandbox Code Playgroud)

我想要以下输出:

q = ["a w", "b e", "c r"]
Run Code Online (Sandbox Code Playgroud)

当然,这可以通过应用for循环来实现.但我想知道是否有一个聪明的解决方案呢?

python list

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

numpy数组乘法比使用向量乘法的循环慢?

当乘以numpy数组时,我遇到了以下问题.在下面的示例中(与我正在处理的实际版本略有简化),我从一个几乎为空的数组A和一个完整的数组开始C.然后我使用递归算法填写A.

下面,我以两种不同的方式执行此算法.第一种方法涉及操作

n_array = np.arange(0,c-1)
temp_vec= C[c-n_array] * A[n_array]
A[c] += temp_vec.sum(axis=0) 
Run Code Online (Sandbox Code Playgroud)

而第二种方法涉及for循环

for m in range(0, c - 1):
    B[c] +=  C[c-m] * B[m]  
Run Code Online (Sandbox Code Playgroud)

请注意,数组A和B是相同的,但它们是使用两种不同的方法填充的.

在下面的示例中,我计算使用每种方法执行计算所需的时间.我发现,例如,使用n_pix=2max_counts = 400,第一种方法比第二种方法快得多(也就是说,time_np比小得多time_for).然而,当我然后切换到,例如,n_pix=1000max_counts = 400,代替我发现方法2是快得多(time_for远小于time_np).我认为方法1总是会更快,因为方法2在方法1使用时明确地在循环上运行np.multiply.

所以,我有两个问题:

  1. 为什么定时表现n_pix为固定的函数max_counts

  2. 编写此代码的最佳方法是什么,以便它对所有人都能快速运行n_pix

也就是说,任何人都可以提出方法3吗?在我的项目中,这段代码非常重要,可以在大大小小的范围内快速执行n_pix.

import numpy as np
import time

def return_timing(n_pix,max_counts):
    A=np.zeros((max_counts+1,n_pix))
    A[0]=np.random.random(n_pix)*1.8
    A[1]=np.random.random(n_pix)*2.3

    B=np.zeros((max_counts+1,n_pix))
    B[0]=A[0] …
Run Code Online (Sandbox Code Playgroud)

python arrays performance numpy cython

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

在python中获取子列表的第一个元素作为字典键

我看了,但我没有找到答案(我对python很新).

问题很简单.我有一个由子列表组成的列表:

ll
[[1,2,3], [4,5,6], [7,8,9]]
Run Code Online (Sandbox Code Playgroud)

我要做的是创建一个字典,其中每个子列表的第一个元素都是关键字,并且值为相应的子列表的值,如:

d = {1:[2,3], 4:[5,6], 7:[8,9]}
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

python dictionary list sublist

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

Python按值排序深层嵌套字典列表

我有一个像这样结构的字典列表.

[
    {
        'id': 1,
        'last_message': {
            'sent_at': '2015-10-15T17:48:52.515Z',
            '...' : '...'
        },
        '...' : '...',
    },
    {
        'id': 2,
        'last_message': {
            'sent_at': '2015-10-15T17:45:52.515Z',
            '...' : '...'
        },
        '...' : '...',
    },
    {
        'id': 3,
        'last_message': {
            'sent_at': '2015-10-15T17:43:52.515Z',
            '...' : '...'
        },
        '...' : '...',
    }
]
Run Code Online (Sandbox Code Playgroud)

并希望按列表排序['last_message']['sent_at'].

我尝试像这样进行插入排序,但这导致无限循环.

ret = []
for conversation in conversations:
    if len(ret) > 1: 
        for conv in ret:
            if conversation['last_message']['sent_at'] > conv['last_message']['sent_at']:
                ret.insert(ret.index(conv), conversation)
                continue
    else:
        ret.append(conversation)
Run Code Online (Sandbox Code Playgroud)

我能做些什么来实现这个目标?

python sorting dictionary list

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