我在Python中的类继承有问题; 也许它与继承无关,但我没有其他想法.我正在使用selenium web-driver.这是我使用的代码:
from selenium import webdriver
class UIInterface(object):
def __init__(self):
self.driver = webdriver.Ie()
self.driver.get('URL')
def parentMethod(self, itemClassName = ''):
allElements = self.getAllElements()
return [el for el in allElements if el.get_attribute('type') == 'checkbox']
def getAllElements(self):
return self.driver.find_elements_by_tag_name('input')
class InterfaceChild(UIInterface):
def __init__(self):
super(InterfaceChild, self).__init__()
def childMethod(self):
returnedList = self.parentMethod(itemClassName = 'SomeClassName')
for item in returnedList:
print item.get_attribute('innerHTML')
Run Code Online (Sandbox Code Playgroud)
这段代码给我一个错误的行returnedList = self.parentMethod(itemClassName = 'SomeClassName'); 错误描述是这样的:
(<type 'exceptions.AttributeError'>, AttributeError("'InterfaceChild' object has no attribute 'self'",), <traceback object at 0x000000000418E5C8>)
Run Code Online (Sandbox Code Playgroud)
我想这可能与遗传有关,所以我试图把parentMethod和getAllElements …
我写了一个Dockerfile使用两个参数:
FROM jessie
MAINTAINER Zeinab Abbasimazar
#Build Arguments
ARG REP_USER
ARG REP_PASS
# Build
RUN echo 'REP_USER:'$REP_USER', REP_PASS:'$REP_PASS
Run Code Online (Sandbox Code Playgroud)
我写了一个docker-compose.ymlfor build:
version: "2"
services:
ui:
build:
context: .
dockerfile: Dockerfile
args:
REP_USER: $REP_USER
REP_PASS: $REP_PASS
Run Code Online (Sandbox Code Playgroud)
我不想直接在compose文件中定义这些参数,所以我尝试在docker compose build期间发送它们:
REP_USER=myusername REP_PASS=mypassword docker-compose build
Run Code Online (Sandbox Code Playgroud)
哪个没用.我把我Dockerfile改为使用这些参数作为环境变量; 所以我删除了ARG行:
FROM jessie
MAINTAINER Zeinab Abbasimazar
# Build
RUN echo 'REP_USER:'$REP_USER', REP_PASS:'$REP_PASS
Run Code Online (Sandbox Code Playgroud)
而且docker-compose.yml:
version: "2"
services:
ui:
build:
context: .
dockerfile: Dockerfile
Run Code Online (Sandbox Code Playgroud)
跑REP_USER=myusername REP_PASS=mypassword docker-compose build; …
arguments environment-variables docker dockerfile docker-compose
我有一个 Dockerfile 正在尝试whl使用pip. 我想强制在搜索中pip包含我的whl文件,但它没有:
No distributions matching the version for mylibname==mylibversion
Run Code Online (Sandbox Code Playgroud)
我尝试使用build_extwith options -L:
pip install --global-option=build_ext --global-option="-L/directory/containing/whl/file/"
Run Code Online (Sandbox Code Playgroud)
-I:
pip install --global-option=build_ext --global-option="-I/directory/containing/whl/file/"
Run Code Online (Sandbox Code Playgroud)
和-b:
pip install --global-option=build_ext --global-option="-b/directory/containing/whl/file/"
Run Code Online (Sandbox Code Playgroud)
但他们都没有工作。
编辑 1:
这是我的Dockerfile:
FROM python:2.7.9
MAINTAINER Zeinab Abbasimazar
ADD myprojectdir .
RUN ls -la ${HOME}/myprojectdir/dependency
RUN pip --version
RUN pip install --global-option=build_ext --global-option="-L${HOME}/myprojectdir/dependency" mypackagename-mypackageversion
WORKDIR .
CMD python --version
Run Code Online (Sandbox Code Playgroud)
这是输出docker build -t myimagename . …
我正在努力学习k6,我从它的官方文档开始。我在运行文档中使用 docker 镜像和命令行尝试了示例代码。在 docker 版本中它工作正常:
zeinab@ZiZi:~$ docker run -i loadimpact/k6 run - <k6_test.js
/\ |??| /??/ /?/
/\ / \ | |_/ / / /
/ \/ \ | | / ??\
/ \ | |?\ \ | (_) |
/ __________ \ |__| \__\ \___/ .io
execution: local--------------------------------------------------] servertor
output: -
script: -
duration: -, iterations: 1
vus: 1, max: 1
time="2020-02-18T11:14:26Z" level=info msg=Running i=0 t=971.124809ms starting
...
time="2020-02-18T11:14:55Z" level=info msg=Running i=0 t=29.971104099s …Run Code Online (Sandbox Code Playgroud) 我正在尝试制作一个 docker 图像,包括newman. 我尝试使用 构建图像node:10-alpine,但在npm install -g newman. 这是我的 docker 命令:
RUN set http_proxy= && \
set https_proxy= && \
yarn config delete proxy && \
npm config rm https-proxy && \
npm config rm proxy && \
npm config set registry http://registry.npmjs.org/ && \
npm config set strict-ssl false && \
npm cache clean --force && \
npm cache verify && \
npm install -g newman
Run Code Online (Sandbox Code Playgroud)
完整的错误是:
npm ERR! code ECONNREFUSED
npm ERR! …Run Code Online (Sandbox Code Playgroud) 我有一个机器人脚本,可以从sql文件中插入一些sql语句;其中一些语句包含utf8字符。如果我使用navicat工具将此文件手动插入数据库,一切都很好。但是,当我尝试使用机器人框架的数据库库执行此文件时,utf8字符会发疯!
这是我的utf8包含的sql语句:
INSERT INTO "MY_TABLE" VALUES (2, '???1');
Run Code Online (Sandbox Code Playgroud)
这是我使用数据库库的方式:
Connect To Database Using Custom Params cx_Oracle ${dbConnection}
Execute Sql Script ${sqlFile}
Disconnect From Database
Run Code Online (Sandbox Code Playgroud)
这是我在数据库中得到的:
???????????? 1
Run Code Online (Sandbox Code Playgroud)
我尝试cx_Oracle直接使用执行SQL文件,但仍然失败!原始库中似乎有问题。这是我用于导入SQL文件的内容:
import cx_Oracle
if __name__ == "__main__":
dsn_tns = cx_Oracle.makedsn(ip, port, sid)
db = cx_Oracle.connect(username, password, dsn_tns)
sql_commands = open(sql_file_addr, 'r').read().split(";")
cr = db.cursor()
for command in sql_commands:
if not command in ["", "\t", "\n", "\r", "\n\r", "\r\n", None]:
print "Executing SQL command:", command
cr.execute(command)
db.commit()
Run Code Online (Sandbox Code Playgroud)
我发现我可以在连接字符串中定义字符集。我已经为mysql数据库完成了该任务,并且该框架成功地将UTF8字符插入了数据库;这是我的MySQL连接字符串:
database='db_name', user='db_username', …Run Code Online (Sandbox Code Playgroud) 我在python控制台中尝试过这个命令:
re.match('^\<.+\>([\w\s-,]+)\<.+\>$', 'Carrier-A')
Run Code Online (Sandbox Code Playgroud)
我得到了:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/re.py", line 141, in match
return _compile(pattern, flags).match(string)
File "/usr/lib/python2.7/re.py", line 251, in _compile
raise error, v # invalid expression
sre_constants.error: bad character range
Run Code Online (Sandbox Code Playgroud)
但是当我使用时:
re.match('^\<.+\>([\w\s,-]+)\<.+\>$', 'Carrier-A')
Run Code Online (Sandbox Code Playgroud)
没有错误返回.
关于字符序列我应该考虑什么?
我正在尝试cx_Oracle在python中使用模块来访问远程数据库并在表中插入或删除行.BTW我已经下载了oracle即时客户端11.1以及odbc和sqlplus版本.我已经设置了环境变量,ORACLE_HOME并且TNS_ADMIN目录中有解压缩的文件,并将此目录添加到PATH变量中.当我用Google搜索时,我认为应该有一些.ora文件,但我找不到它们.
我可以使用sqlplus命令行中的命令,但我的主要问题是我无法安装和使用cx_Oracle.我不想使用任何命令行脚本; 我只是想cx_Oracle用作API.
任何人都可以给我一个完整的解释,我真的被困在那里.该领域的所有文件都含糊不清.最好的祝福.
编辑1:
我尝试使用cx_Oraclewith python setup.py install和python setup.py build --compiler=mingw32命令的源包.我没有再次得到oracle错误,但是我收到了command 'gcc' failed错误.我尝试了MinGW编译器并编辑了环境变量PATH以包含MinGW安装目录(例如C:\MinGW); 我还安装了Microsoft Visual C++(版本2005,2008和2010); 但我仍然得到错误.
编辑2:
由于@jpmc26提到了tnsnames.ora文件,我决定补充说我已经尝试制作tnsnames.ora一个sqlplus.ora文件并将它们放在目录中C:\oracle\instant_client_11_1\network\admin; 但是当我用Google搜索时,我意识到如果你使用cx_Oracle.connect(username, password, cx_Oracle.makedsn(ip, port, sid))命令,你可以跳过.ora文件.cx_Oracle.makedsn会使结构本身.
我在 python 中有一个字典列表,我想根据所有字典中存在的键的值对它们进行分类,并分别处理每个类别。我不知道这些值是什么,我只知道存在一个特殊的键。这是清单:
dictList = [
{'name': 'name1', 'type': 'type1', 'id': '14464'},
{'name': 'name2', 'type': 'type1', 'id': '26464'},
{'name': 'name3', 'type': 'type3', 'id': '36464'},
{'name': 'name4', 'type': 'type5', 'id': '43464'},
{'name': 'name5', 'type': 'type2', 'id': '68885'}
]
Run Code Online (Sandbox Code Playgroud)
这是我目前使用的代码:
while len(dictList):
category = [l for l in dictList if l['type'] == dictList[0]['type']]
processingMethod(category)
for item in category:
dictList.remove(item)
Run Code Online (Sandbox Code Playgroud)
上面列表上的这个迭代会给我以下结果:
Iteration 1:
category = [
{'name': 'name1', 'type': 'type1', 'id': '14464'},
{'name': 'name2', 'type': 'type1', 'id': '26464'},
]
Iteration 2:
category = …Run Code Online (Sandbox Code Playgroud) 我正在尝试将项目的 golang 版本从 升级1.15到1.18.1. 我更改了版本go.mod并执行了go mod tidy命令。
奇怪的是,我的主文件中出现以下错误,该文件main本身有一个函数:
'main' collides with name declared in this package
Run Code Online (Sandbox Code Playgroud)
它发生在net/http和syscall库中:
网络/http
Found several packages [http, main] in '/usr/local/go-1.18.1/src/net/http;/usr/local/go-1.18.1/src/net/http'
Run Code Online (Sandbox Code Playgroud)
系统调用
Found several packages [syscall, main] in '/usr/local/go-1.18.1/src/syscall;/usr/local/go-1.18.1/src/syscall'
Run Code Online (Sandbox Code Playgroud)
当我检查警告是否正确并且两个库中都有主包时。
我应该使用替代库还是应该更改导入它们的方式?
编辑1:
这是一个 IDE 错误,我使用 Goland。
python ×5
docker ×3
dockerfile ×2
arguments ×1
cx-oracle ×1
database ×1
exception ×1
go ×1
javascript ×1
k6 ×1
list ×1
node-modules ×1
npm ×1
npm-install ×1
oracle11g ×1
pip ×1
python-2.7 ×1
python-wheel ×1
regex ×1
selenium ×1
self ×1
sql ×1
utf-8 ×1
version ×1
windows ×1