小编Ale*_*lex的帖子

如何修复git中的“分歧分支”?

我克隆了一个存储库并签出了一个分支,现在当我执行 a 时,git pull我看到了错误

hint: You have divergent branches and need to specify how to reconcile them.
Run Code Online (Sandbox Code Playgroud)

有没有办法解决这个问题而不需要重新定位或合并某些东西?是否有一些 git 命令可以使本地结帐达到与远程存储库相同的状态?

我不想保留任何本地更改,我希望本地分支与我试图拉取的远程分支完全相同。当地的变化我不感兴趣。

有一个工作正常的解决方法:

cd ..
rm -rf repo
git clone <repo-url.git> 
cd repo
git checkout <branch> 
Run Code Online (Sandbox Code Playgroud)

但也许有更简单的方法?删除完整的存储库花了很长时间。

再说一遍:我想要一个与遥控器上完全相同的分支。我不想合并或变基任何东西。我希望本地分支的状态与远程分支的状态完全相同。

git

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

在python中使用named/unnamed和variable参数进行函数调用

我有以下代码:

def foo(func, *args, named_arg = None):
    return func(*args)
Run Code Online (Sandbox Code Playgroud)

返回SyntaxError:

  File "tester3.py", line 3
    def foo(func, *args, named_arg = None):
                                 ^
Run Code Online (Sandbox Code Playgroud)

这是为什么?是否有可能以某种方式定义一个函数,它接受一个参数(func),然后是args命名参数之前的变量参数列表?如果没有,我的可能性是什么?

python

4
推荐指数
1
解决办法
6340
查看次数

为什么python threading.Thread对象有'start',但不是'stop'?

python模块线程有一个对象Thread,用于在不同的线程中运行进程和函数.这个对象有一个start方法,但没有stop方法.什么是Thread无法阻止我调用简单stop方法的原因?我可以想象使用这种join方法不方便的情况......

python multithreading

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

如何通过xmlrpc(python)传输二进制数据?

正如其名称xmlrpc所暗示的,该传送协议依赖于XML携带数据,而不能传输二进制数据,或不可打印的ASCII字符(\ N,\ B,CHR(2),...)或者可以吗?].

我想知道是否有一种方法可以将字符串从客户端安全地传输到服务器,而对编码的影响最小(即仅在客户端).我尝试了这个xmlrpclib.Binary类,但这似乎只适用于文件.

Testcode,server.py:

def output(text):
    print "-".join([str(ord(x)) for x in text])

from SimpleXMLRPCServer import SimpleXMLRPCServer
server = SimpleXMLRPCServer(('localhost', 1234))
server.register_function(output)
server.serve_forever()
Run Code Online (Sandbox Code Playgroud)

client.py:

import xmlrpclib
device = xmlrpclib.ServerProxy("http://localhost:1234/RPC2")
device.output(".\n."+chr(2))
Run Code Online (Sandbox Code Playgroud)

预期结果:

46-10-46-2
Run Code Online (Sandbox Code Playgroud)

看到的结果(在服务器端):

xmlrpclib.Fault: <Fault 1: "<class 'xml.parsers.expat.ExpatError'>:not well-formed (invalid token): line 7, column 1">
Run Code Online (Sandbox Code Playgroud)

python xml-rpc xmlrpclib python-2.7

4
推荐指数
2
解决办法
4561
查看次数

如何在bash中将一系列AT命令发送到串口?

在Linux中,我需要向一个串口发送一系列AT命令,例如/dev/ttyS0,OK在发送下一个命令之前必须等待一个答案.我可以想象做类似的事情

echo 'AT' > /dev/ttyS0
echo 'ATS0=0' > dev/ttyS0
...
Run Code Online (Sandbox Code Playgroud)

但是这并没有评估该端口上设备的答案.

是否有一种非常简单的方法可以在bash脚本中自动执行此操作,可能是借助于socat和/或microcom 没有在最简单的Linux系统上找不到的工具.

linux bash serial-port at-command

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

为什么我的contextmanager函数不能像python中的contextmanager类一样工作?

在我的代码中,我需要能够正确地打开和关闭设备,因此需要使用上下文管理器.虽然上下文管理器通常被定义为带有__enter____exit__方法的类,但似乎还有可能装饰一个与上下文管理器一起使用的函数(参见最近的帖子另一个很好的例子).

在下面(工作)的代码片段中,我实现了两种可能性; 一个只需要将注释行与另一个交换:

import time
import contextlib

def device():
    return 42

@contextlib.contextmanager
def wrap():
    print("open")
    yield device
    print("close")
    return

class Wrap(object):
    def __enter__(self):
        print("open")
        return device
    def __exit__(self, type, value, traceback):
        print("close")


#with wrap() as mydevice:
with Wrap() as mydevice:
    while True:
        time.sleep(1)
        print mydevice()
Run Code Online (Sandbox Code Playgroud)

我尝试的是运行代码并停止它CTRL-C.当我Wrap在上下文管理器中使用该类时,该__exit__方法被调用为已解决(文本'close'在终端中打印),但是当我尝试使用该wrap函数时,文本'close'不会打印到终奌站.

我的问题:代码片段是否存在问题,我是否遗漏了某些内容,或者为什么print("close")没有使用装饰函数调用该行?

python contextmanager python-2.7

4
推荐指数
1
解决办法
1498
查看次数

如何在python类上创建带有参数的装饰器函数?

我想创建一个装饰器函数来操作python类,并能够传递其他参数.我想在类实例化之前这样做.这是我的方法:

def register(x,a):
    print x,a

@register(5)
class Foo(object):
    pass
Run Code Online (Sandbox Code Playgroud)

x作为类a的附加参数.但我得到了一个

TypeError: register() takes exactly 2 arguments (1 given)
Run Code Online (Sandbox Code Playgroud)

我想要的是Foo在实例化类之前,定义类时获取类和其他参数的某种方法.

python decorator python-2.7

4
推荐指数
1
解决办法
269
查看次数

为什么php'date'函数返回错误的时间(关闭~24秒)?

phpgentooLinux 上运行以下小代码片段(php版本5.2.10-pl0-gentoo):

#!/usr/bin/php5
<?

class TestDaemon {
    public function __construct(){

        while (TRUE){

            unset($aDate);
            exec("date", $aDate);
            print("date(\"d.m.y H:i:s\") yields: ".date("d.m.y H:i:s")." while 'date' yields $aDate[0].\n");
            sleep(1);
        }
    }
}
$oDaemon = new TestDaemon();
?>
Run Code Online (Sandbox Code Playgroud)

产出的产量如下:

date("d.m.y H:i:s") yields: 27.03.14 07:05:27 while 'date' yields Thu Mar 27 07:05:03 UTC 2014.
date("d.m.y H:i:s") yields: 27.03.14 07:05:28 while 'date' yields Thu Mar 27 07:05:04 UTC 2014.
date("d.m.y H:i:s") yields: 27.03.14 07:05:29 while 'date' yields Thu Mar 27 07:05:05 UTC 2014. …
Run Code Online (Sandbox Code Playgroud)

php mysql linux

4
推荐指数
1
解决办法
980
查看次数

如何将多个QPushButtons添加到QTableView?

我有一个QTableView我想QPushButton为每一行设置一个.我这样做我从派生类中的如下QWidget下面发现了一个例子在这里:

 for index in range(number_rows):
        btn_sell = QPushButton("Edit", self)
        btn_sell.clicked.connect(self.button_edit)
        table_view.setIndexWidget(table_view.model().index(index, 4), btn_sell)
Run Code Online (Sandbox Code Playgroud)

如果绘制了表格并且我点击其中一个QPushButton方法self.button_edit被调用 - 但是哪一个?似乎没有给出任何类型的"事件" self.button_edit,那么如何才能找到QPushButtonbutton_edit方法中单击的行索引?

也许有一种不同的方式来为一个表的每一行添加一个按钮?

python pyside

4
推荐指数
1
解决办法
6537
查看次数

如何在List活动中设置工具栏?

我想改变我到目前为止创建的应用程序,以便实现一个ListView.我按照这个例子这个例子.这些例子单独起作用,但不能与我必须对我迄今为止现有的应用程序所做的更改一起使用.

我的avticity_main.xml定义如下:

<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>

    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/main_grid"

        android:useDefaultMargins="true"
        android:alignmentMode="alignBounds"
        android:columnOrderPreserved="false"

        android:columnCount="4"
        >

        <TextView
            android:text="MainTitle"
            android:textSize="32dip"
            android:layout_columnSpan="4"
            android:layout_gravity="center_horizontal"
            android:id="@+id/textView1"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />

        <ListView
            android:id="@+id/list"
            android:layout_height="wrap_content"
            android:layout_width="match_parent">
        </ListView>                            
    </LinearLayout>

</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)

我的主要活动有以下代码:

public class MainActivity extends AppCompatActivity  {
    static final String[] MOBILE_OS =
        new String[] { "Android", "iOS", "WindowsMobile", "Blackberry"};

    @Override
    protected void onCreate(Bundle savedInstanceState) …
Run Code Online (Sandbox Code Playgroud)

android android-activity

4
推荐指数
1
解决办法
5927
查看次数