我有一个类定义如下
class M(object):
def __init__(self, **kwargs):
...do_something
Run Code Online (Sandbox Code Playgroud)
我有结果argparse.parse_args(),例如:
> args = parse_args()
> print args
Namespace(value=5, message='test', message_type='email', extra="blah", param="whatever")
Run Code Online (Sandbox Code Playgroud)
我想传递此命名空间的值(除外message_type)以创建该类的实例M.我试过了
M(args)
Run Code Online (Sandbox Code Playgroud)
但是得到了一个错误
TypeError: __init__() takes exactly 1 argument (2 given)
Run Code Online (Sandbox Code Playgroud)
我不明白.我怎么能够
message_type从中删除列表中的值argsM(value=5, message='test', extra="blah", param="whatever")直接输入一样.我在使用setup.py设置python包时遇到问题.首先,我有以下目录设置:
maindir
|- setup.py
|-mymodule
|- __init__.py
|- mainmodule.py
|-subdir
|- __init__.py
|- submodule.py
Run Code Online (Sandbox Code Playgroud)
即项目目录包含setup.py和一个目录mymodule,该目录本身包含两个目录中的两个python模块.该文件submodule.py只包含
teststring = "hello world"
Run Code Online (Sandbox Code Playgroud)
mainmodule.py 包含:
from .subdir import submodule
mainstring = "42"
Run Code Online (Sandbox Code Playgroud)
并setup.py包含:
import os
from setuptools import setup
setup(
name = "mytestmodule",
version = "0.0.1",
description = ("A simple module."),
packages=['mymodule'],
)
Run Code Online (Sandbox Code Playgroud)
当我from mymodule import mainmodule与ipython从内部sourceTest行为按预期工作,我可以引用例如,mainmodule.submodule.teststring这使我的字符串hello world.
另一方面,当我使用这个'package' python setup.py install并尝试做同样的事情(从其他目录中)时,我收到一个导入错误:
In …Run Code Online (Sandbox Code Playgroud) 在Ubuntu 13.10中使用LibreOffice 4.1.2.3我拼命地尝试将工作表(4列)的内容导出为pdf(纵向),因此所有4列都适合页面.一个页面很好地解释了所有设置 - 但它们没有任何效果!
我选择了我要导出到pdf的所有范围(前面提到的4列),单击文件 - >导出为PDF,无论我改变什么(例如缩放到7%),生成的pdf包含两个页面:一个包含前三列的页面,以及包含第四列的另一页面.
这非常麻烦和荒谬,任何帮助都可以解决这个问题.
根据文档,我可以在调用时设置python unittest的详细级别unittest.main,例如
unittest.main(verbosity=2)
Run Code Online (Sandbox Code Playgroud)
如何在一个unittest.TestCase?中访问此信息?
我正在尝试使用工具栏开发一个活动(该示例或多或少取自教程),但工具栏始终与其他内容的一部分重叠.这是一个截图:
蓝色工具栏与其他一些内容重叠.我试图在SO上搜索类似的问题,但只找到了一些无关的东西.我还试图改变一些元素的顺序并替换wrap_content< - > match_parent,这最多会使布局恶化.
我确信我遗漏了一些非常基本的东西,但我看不出是什么.
代码activity_main.xml:
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context=".MainActivity" >
<android.support.design.widget.AppBarLayout
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"/>
</android.support.design.widget.AppBarLayout>
<include layout="@layout/content_main" />
</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)
代码content_main.xml:
<?xml version="1.0" encoding="utf-8"?>
<GridLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:useDefaultMargins="true"
android:alignmentMode="alignBounds"
android:columnOrderPreserved="false"
android:columnCount="4"
>
<TextView
android:text="@string/MainTitle"
android:textSize="32dip"
android:layout_columnSpan="4"
android:layout_gravity="center_horizontal"
android:id="@+id/textView1"
/>
<TextView
android:text="You can configure email in just a few steps:"
android:textSize="16dip"
android:layout_columnSpan="4"
android:layout_gravity="left"
/>
<TextView
android:text="Email address:"
android:layout_gravity="right"
/>
<EditText …Run Code Online (Sandbox Code Playgroud) 我正在使用一个非常复杂的设置来测试各种非公共网页.我用它jenkins来运行图像中的python-selenium测试docker.这样,我完全独立于jenkins环境,可以创建自己的环境.在这种环境中,我安装了以下软件:
硒测试创建WebDriver以下方式:
profile = webdriver.FirefoxProfile()
profile.set_preference("browser.download.dir", self.downloadpath)
profile.set_preference("browser.download.folderList", 2)
profile.set_preference("browser.download.useDownloadDir", True)
profile.set_preference("browser.download.manager.showWhenStarting", False)
profile.set_preference("pdfjs.disabled", True)
profile.set_preference("browser.helperApps.neverAsk.saveToDisk",
"application/force-download, image/png, text/html, text/plain, "
"image/tiff, text/csv, application/zip, application/octet-stream")
profile.set_preference("browser.download.manager.alertOnEXEOpen", False)
profile.set_preference("browser.download.manager.focusWhenStarting", False)
profile.set_preference("browser.helperApps.alwaysAsk.force", False)
profile.set_preference("browser.download.manager.alertOnEXEOpen", False)
profile.set_preference("browser.download.manager.closeWhenDone", True)
profile.set_preference("browser.download.manager.showAlertOnComplete", False)
profile.set_preference("browser.download.manager.useWindow", False)
profile.set_preference("services.sync.prefs.sync.browser.download.manager.showWhenStarting",
False)
self.driver = webdriver.Firefox(profile, log_path = logfile)
Run Code Online (Sandbox Code Playgroud)
其中,logfile和self.downloadpath是在泊坞窗设置两个有效的路径.
整个测试套件包含6个独立的测试用例,每个测试用例具有与上述相同的设置.他们通常运行良好,完整没有问题.
但是,如果没有对测试或常规设置进行任何更改,测试有时会失败,并显示以下错误消息:
File "/root/tests/bsp_usecase_tests/tools/basicsuite.py", line 210, in set_driver_firefox
self.driver = webdriver.Firefox(profile, log_path …Run Code Online (Sandbox Code Playgroud) 我试图找到一个关于如何连续显示其最后几行内容的文件的Unix命令(可能是组合).但在此显示期间,我希望当滚动内容到达屏幕顶部时,一些顶行总是显示在屏幕顶部.
那可能吗?
(1)假设我有文件"job.sta",前两行是:工作名称,John在2013年1月30日的工作,... Tab1,Tab2,Tab3 0,1,2,1,90, 89 2,89,23 ......
(2)这个文件正在运行,它的内容正在增长,我不知道它将结束什么行.
(3)所以我想在使用tail命令时显示(总是)前两行,当更新内容到达Unix shell屏幕顶部时.我现在正在使用PuTTY.
参考:http: //www.unix.com/unix-dummies-questions-answers/172000-head-tail-how-display-middle-lines.html
我正在使用setup.py创建一个python包,我想通过它安装pip.要正确安装文件
lib/python2.7/site-packages/<package-name>
Run Code Online (Sandbox Code Playgroud)
我在下面使用了以下选项setup.py:
'package_dir': {'':'lib'}
Run Code Online (Sandbox Code Playgroud)
如此处所述,但得到一个错误
error: package directory 'lib' does not exist
Run Code Online (Sandbox Code Playgroud)
好吧,没有这样的目录,因为我希望将当前目录安装为包lib或其他任何东西.我也试过用
'package_dir': {'mycode':''}
Run Code Online (Sandbox Code Playgroud)
直接安装代码
lib/python2.7/site-packages/
Run Code Online (Sandbox Code Playgroud)
而不是在
lib/python2.7/site-packages/<package-name>
Run Code Online (Sandbox Code Playgroud)
我做错了什么,这在哪里记录了?我可能会忽略这个基本功能的文档,因为文档setup.py是"次优的".
在 gitlab 文档中,您可以找到预定义变量的列表HERE,其中变量CI_PIPELINE_SOURCE被解释为具有可能的值“push、web、schedule、api、external、chat、webide、merge_request_event、external_pull_request_event、parent_pipeline、trigger 或 pipeline”。
但是,没有解释它们的含义。
如果有人知道该文档隐藏在哪里,请让我知道在哪里可以找到它,我将不胜感激。
此外,我如何知道某些更改何时实际合并到分支中?在这种情况下如何触发管道?
我使用virtualenv版本1.7.1.2与python2.7.3创建虚拟python环境.但是当我创建这样的环境并激活它时,我可以看到安装了以下软件包(使用pip freeze):
argparse==1.2.1
distribute==0.6.24
wsgiref==0.1.2
Run Code Online (Sandbox Code Playgroud)
这是为什么?那是什么意思?
python ×6
python-2.7 ×4
android ×1
argparse ×1
arguments ×1
firefox ×1
geckodriver ×1
gitlab ×1
import ×1
jenkins ×1
linux ×1
package ×1
pdf ×1
pip ×1
screen ×1
selenium ×1
setup.py ×1
setuptools ×1
split ×1
tail ×1
toolbar ×1
unit-testing ×1
unix ×1
virtualenv ×1