小编Sup*_*Man的帖子

注意IP地址状态的变化

有没有办法监视IP地址的变化,就像使用FileSystemWatcher监视文件更改一样?我通过tcp/ip连接到一台机器,但它需要一段时间,直到它给我一个IP地址.我想调暗连接按钮,直到我有一个有效的IP地址.

.net windows

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

屏幕仅显示在窗口的左上角

我开始探索Python和Pygame,但是我遇到了一个问题.我绘制到屏幕上的所有内容都只显示在窗口的左上角.我以为这是我的代码,但我试过的任何演示程序也以同样的方式显示.

在youtube上来自thenewboston的演示代码

import pygame, sys
from pygame.locals import *

pygame.init()

screen = pygame.display.set_mode((640,360),0,32)

background = pygame.image.load("Background.jpg").convert()
mouse_c = pygame.image.load("ball.png").convert_alpha()

while True:
    for event in pygame.event.get():
        if event.type == QUIT:
            pygame.quit()
            sys.exit()

    screen.blit(background, (0,0))

    x,y = pygame.mouse.get_pos()
    x -= mouse_c.get_width()/2
    y -= mouse_c.get_height()/2

    screen.blit(mouse_c, (x,y))

    pygame.display.update()
Run Code Online (Sandbox Code Playgroud)

在视频中他的显示正确,我的看起来像这样 游戏渲染的屏幕截图仅在屏幕的左上角

使用:

  • Python 2.7.4 32位
  • pygame 1.9.1 32位
  • mac 10.8.3 64位macbook pro视网膜上

我认为要么与视网膜显示有关,要么我安装错了.任何帮助,将不胜感激.

python pygame

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

Youtube API错误v3 - '未选择过滤器'

我正在使用Youtube V3 Api和这里的代码片段来从我的YouTube频道中提取前十个视频.(同样的查询在google API资源管理器@ https://developers.google.com/apis-explorer/中完美运行)

url_start = "https://www.googleapis.com/youtube/v3/videos?" + \ 
            "order=viewCount&part=snippet&forMine=true" + \
            "&type=video&maxResults=10&key=MY_API_KEY"
data = requests.get(url_start).json()
Run Code Online (Sandbox Code Playgroud)

但我得到这个错误:

{u'error': {u'code': 400,
            u'message': u'No filter selected.',
            u'errors':[{u'locationType': u'parameter',
                        u'domain': u'youtube.parameter',
                        u'message': u'No filter selected.',
                        u'reason': u'missingRequiredParameter',
                        u'location': u''}]}}
Run Code Online (Sandbox Code Playgroud)

我知道密钥是有效的,因为如果我可以在没有forMine的情况下执行相同的查询

https://www.googleapis.com/youtube/v3/search?part=snippet&key=MY_API_KEY
Run Code Online (Sandbox Code Playgroud)

我从youtube获得了整体热门视频.有没有更好的方法来做到这一点或解决方法?

python youtube-api youtube-data-api

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

在pandas中,NoneType对象不是可迭代的错误

我试图使用python从sql服务器上的存储过程中提取一些数据.

这是我的代码:

import datetime as dt
import pyodbc
import pandas as pd

conn = pyodbc.connect('Trusted_Connection=yes', driver = '{SQL Server Native client 11.0}',server = '*****, database = '**')

pd.read_sql("EXEC ******** '20140528'",conn)
Run Code Online (Sandbox Code Playgroud)

我得到错误:TypeError:'NoneType'对象不可迭代

我怀疑这是因为我在sql表中有一个值为NULL的单元格,但不确定这是否是我收到错误的真正原因.我使用相同的代码运行了许多sql语句,没有任何错误.

这是追溯:

In[39]: pd.read_sql("EXEC [dbo].[] '20140528'",conn)
Traceback (most recent call last):
  File "C:*", line 3032, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-39-68fb1c956dd7>", line 1, in <module>
    pd.read_sql("EXEC [dbo].[] '20140528'",conn)
  File "C:*", line 467, in read_sql
    chunksize=chunksize
  File "c:***", line 1404, in read_query
    columns = [col_desc[0] for col_desc in cursor.description] …
Run Code Online (Sandbox Code Playgroud)

python sql-server pandas

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

列表列表中的平均部分

我有一个很大的列表列表,比如

import numpy as np
np.array([range(1,1000), range(1,1000), range(1,1000)])
Run Code Online (Sandbox Code Playgroud)

我想计算每列中每个50个值的平均值.我想得到类似的东西:

np.array([[np.mean(range(1,50)), np.mean(range(51,100)), ...], [[np.mean(range(1,50)), np.mean(range(51,100)), ...], ...])
Run Code Online (Sandbox Code Playgroud)

但是不是1-1000的值,而是我有几个文本文件,每个文件只有一列,我把它们一起打包在np.array中

average_list = np.array([ np.genfromtxt("1.txt"), np.genfromtxt("2.txt") ])
Run Code Online (Sandbox Code Playgroud)

我尝试循环部分列表并将50个值一起添加,但它似乎没有做我想要的

average_list = np.array([ np.genfromtxt("1.txt"), np.genfromtxt("2.txt") ])
new_list = []
n=100
for i in range(len(average_list)):
    for j in range(len(average_list[i])):
        while n < j < n+50:
            average_list[i,j]+=average_list[i,j+1]
            j+=1
            new_list.append(average_list[i,j])
        print new_list
        n+=50
Run Code Online (Sandbox Code Playgroud)

python

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

添加数据后保存并关闭Excel文件?

我试图打开现有的Excel 2013文件,添加数据,然后保存(同名),然后关闭它,然后关闭Excel.代码将打开文件,选择正确的工作表并写入数据,但是当我尝试保存它时,我得到属性错误.我错过了图书馆吗?这是代码:

import win32com.client as win32

def Inventory_Status():
    excel = win32.gencache.EnsureDispatch('Excel.Application') # opens Excel
    wb = excel.Workbooks.Open(r'C:/pytest/Test.xlsx') # opens "Test" file
    wb.Sheets(2).Select() # select 2nd worksheet "Aisle_2"
    excel.Visible = True
    excel.Range("A1").Select()
    excel.ActiveCell.Value = "1234"   # Fill in test data #
    wb.save()
    wb.Close()
    excel.Quit()

Inventory_Status()

raise AttributeError("'%s' object has no attribute '%s'" % (repr(self), attr))

AttributeError: '<win32com.gen_py.Microsoft Excel 15.0 Object Library._Workbook instance at 0x5901424>' object has no attribute 'save'
Run Code Online (Sandbox Code Playgroud)

python excel

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

实际使用元组作为单例

在关于数据模型的文档中,它提到了使用单项元组作为单例的可能性,因为它具有不变性.

元组

可以通过在表达式上添加逗号来形成一个项目("单身")的元组...

据我所知,在Python中,单例的功能类似于常量.它是一个固定值,用于维护相同的内存地址,以便您可以测试相等性或标识.例如,None,TrueFalse都是内置单身.

但是,考虑到这种用法,使用这种方式定义的元组对于笨拙的语法似乎是不切实际的:

HELLO_WORLD = ("Hello world",)
print HELLO_WORLD
> ('Hello world',)
print HELLO_WORLD[0]
> Hello world
Run Code Online (Sandbox Code Playgroud)

更不用说,如果你记得索引,它只能作为一个单身人士.

HELLO_WORLD[0] = "Goodbye world"

Traceback (most recent call last):
  File "<pyshell#3>", line 1, in <module>
    HELLO_WORLD[0] = "Goodbye world"
TypeError: 'str' object does not support item assignment
Run Code Online (Sandbox Code Playgroud)

这意味着您可以轻松地执行此操作:

HELLO_WORLD = "Goodbye world"
print HELLO_WORLD
> Goodbye world
Run Code Online (Sandbox Code Playgroud)

鉴于这些限制,这个单例实现是否有任何意义?我看到的唯一优势是创建起来很简单.我见过的其他方法是更复杂的方法(使用类等)但是我还没有考虑其他一些用途吗?

python tuples

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

只允许名称参数的函数

我在Python Cookbooks中阅读了一个解决方案,用于创建仅允许名称参数的函数.我编写了自己的代码来试试:

class Reporter(object):
    def __init__(self, *, testline=None, sw_ver= None, directory=None):
        pass

if __name__ == "__main__"
    r = Reporter()
Run Code Online (Sandbox Code Playgroud)

但是解释器显示此错误:

File "Reporter.py", line 6
    def __init__(self, *, testline=None, sw_ver= None, directory=None):
                        ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

为什么会显示这个?

python arguments function cookbook python-2.7

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

使用 selenium 和 python 放大和缩小 Chrome 浏览器

我正在尝试以编程方式更改 Chrome 中的缩放。我尝试使用 Python 来做到这一点

driver.execute_script("document.body.style.zoom='zoom %'")
Run Code Online (Sandbox Code Playgroud)

但这使它放大了 CSS,而不是 Chrome 本身。我如何影响 Chrome 的缩放?

python selenium

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

如何在不导入 .csv 模块/库的情况下从 .csv 文件加载数据

def loadfunc(filestr):
listoftuples = []
listofnumbers = []
tupleinlist = []
with open(filestr, 'r') as file:
    for line in file:
        for item in line:
            if item.isdigit():
                listofnumbers.append(float(item))
            else:
                word = item
tupleinlist.append(word)
tupleinlist.append(listofnumbers)
listoftuples.append(tuple(tupleinlist))
return listoftuples
print(listoftuples)
Run Code Online (Sandbox Code Playgroud)

以上是我的代码。所以要求是从 .csv 文件加载数据并加载到元组列表中。文件中的数据类似于:

 - apple    23.2    24.3    25.6
 - banana   22.1    20.0    19.9
Run Code Online (Sandbox Code Playgroud)

对于列表中的每个元组,它必须是(word, listoffloats)这样的:

[(apple, [23.2, 24.3, 25.6]), (banana, [22.1, 20.0, 219.9])]
Run Code Online (Sandbox Code Playgroud)

但我的代码是螺丝这并不会因为当它遍历每个“行”,“项”归来吧,它遍历每个字符(如.apple),而不是项目是一样的东西apple23.2等.

请帮助我不知道如何解决这个问题,并且不允许在本教程中使用 …

python csv

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