小编dav*_*upt的帖子

Python使用的字符串比较技术

我想知道Python如何进行字符串比较,更具体地说,它是如何在使用小于(<)或大于(>)运算符时确定结果的.

例如,如果我把print('abc' < 'bac')我得到True.我理解它比较了字符串中的相应字符,但是由于缺乏更好的术语而不清楚为什么还有更多的字符,"权重"放在第一个字符串中的a小于b(第一个位置)而不是a在第二个字符串(第二个位置)中小于b的事实.

python string comparison

51
推荐指数
4
解决办法
8万
查看次数

在嵌套列表的第二列中查找最大值?

我有一个这样的列表:

alkaline_earth_values = [['beryllium', 4], ['magnesium', 12],['calcium', 20],
                         ['strontium', 38], ['barium', 56], ['radium', 88]]
Run Code Online (Sandbox Code Playgroud)

如果我只是使用该max(list)方法,它将返回答案'strontium',如果我试图找到最大名称,这将是正确的,但是我试图返回其整数最高的元素.

python nested element list max

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

Python将Adblock与Selenium和Firefox Webdriver一起使用

我的目标是通过Python将Adblock Plus与Selenium一起使用.我已经能够将它加载到加载扩展的位置,但默认情况下它不包括默认过滤器"EasyList".这是我到目前为止:

 from selenium import webdriver
 from time import sleep
 ffprofile = webdriver.FirefoxProfile()
 adblockfile = '/Users/username/Downloads/adblock_plus-2.4-tb+fx+an+sm.xpi'
 ffprofile.add_extension(adblockfile)
 ffprofile.set_preference("extensions.adblockplus.currentVersion", "2.4")
 browser = webdriver.Firefox(ffprofile)
 while(True):
    browser.get("www.cnn.com")
    sleep(5)
Run Code Online (Sandbox Code Playgroud)

大部分代码都脱离了http://selenium-python.readthedocs.org/en/latest/faq.html

python selenium firefox-addon adblock

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

Python urllib下载在线目录的内容

我正在尝试创建一个打开目录的程序,然后使用正则表达式获取powerpoint的名称,然后在本地创建文件并复制其内容.当我运行它似乎工作,但是当我实际尝试打开文件时,他们一直说版本是错误的.

from urllib.request import urlopen
import re

urlpath = urlopen('http://www.divms.uiowa.edu/~jni/courses/ProgrammignInCobol/presentation/')
string = urlpath.read().decode('utf-8')

pattern = re.compile('ch[0-9]*.ppt') #the pattern actually creates duplicates in the list

filelist = pattern.findall(string)
print(filelist)

for filename in filelist:
    remotefile = urlopen('http://www.divms.uiowa.edu/~jni/courses/ProgrammignInCobol/presentation/' + filename)
    localfile = open(filename,'wb')
    localfile.write(remotefile.read())
    localfile.close()
    remotefile.close()
Run Code Online (Sandbox Code Playgroud)

python directory urllib urllib2 python-3.x

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

Python winreg通过子键循环

我能够使用下面的代码从我的Windows 7机器注册表配置单元"HKEY_LOCAL_MACHINE"中成功检索5个子键.

from _winreg import *

try:
    i = 0
    while True:
        subkey = EnumKey(HKEY_LOCAL_MACHINE, i)
        print subkey
        i += 1
except WindowsError:
    pass
Run Code Online (Sandbox Code Playgroud)

我的问题是,我如何枚举那些键?我想最终列出SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\Unmanaged文件夹中的所有密钥,但我无法弄清楚如何走下去.

为了回应第一条评论,我在我的机器上运行了这段代码,虽然它没有出错,但它没有产生结果.

from _winreg import *

aReg = ConnectRegistry(None,HKEY_LOCAL_MACHINE)
aKey = OpenKey(aReg, r"SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\Unmanaged")
for i in range(1024):
    try:
        keyname = EnumKey(aKey, i)
        asubkey = OpenKey(aKey, keyname)
        val = QueryValueEx(asubkey, "Description")
        print val
    except WindowsError:
        break
Run Code Online (Sandbox Code Playgroud)

一个regedit或reg查询显示该文件夹中的6个值,但是我无法获得一个python脚本来向我显示这六个值.

python winreg

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