我想知道Python如何进行字符串比较,更具体地说,它是如何在使用小于(<)或大于(>)运算符时确定结果的.
例如,如果我把print('abc' < 'bac')我得到True.我理解它比较了字符串中的相应字符,但是由于缺乏更好的术语而不清楚为什么还有更多的字符,"权重"放在第一个字符串中的a小于b(第一个位置)而不是a在第二个字符串(第二个位置)中小于b的事实.
我有一个这样的列表:
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将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
我正在尝试创建一个打开目录的程序,然后使用正则表达式获取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) 我能够使用下面的代码从我的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脚本来向我显示这六个值.