小编Ita*_*mon的帖子

使用 Python 的 SCPClient 库在文件名中使用通配符

我想使用 Python 脚本将文件从远程机器复制到我的本地机器。我只知道文件名的扩展名,所以我想使用通配符来表示文件名。

此外,我想直接使用SCPClient Python 库而不是os.system,如题为using wildcards in filename in filename in python in python 中所建议的那样

但是当我运行以下代码时:

from paramiko import SSHClient
import paramiko
from scp import SCPClient

with SSHClient() as ssh:
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    ssh.connect('10.10.100.5', username= 'root', password='Secret')
    with SCPClient(ssh.get_transport()) as scp:
        scp.get(remote_path='/root/*.py', local_path='.')
Run Code Online (Sandbox Code Playgroud)

我得到一个例外

scp.SCPException: scp: /root/*.py: 没有那个文件或目录

从 shell 运行效果很好

scp root@10.10.100.5:/root/*.py 。

python ssh scp paramiko

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

如何在NUnit 3中使用ITestEventListener?

我想向NUnit添加一个自定义测试报告器。我已经用NUnit2完成了,但是现在我需要使用NUnit3。

要实现报告程序,我需要从框架中获取各种事件,例如测试的开始,结束和失败。

在NUnit2中,我曾经NUnitHook注册EventListener过它,效果很好。

在NUnit3中,我需要使用扩展点机制,但是当我将扩展点添加到项目中时,VisualStudio(2012旗舰版)立即无法发现NUnit测试。

[TypeExtensionPoint(Description = "Test Reporter Extension")]
    public class MyTestEventListener : ITestEventListener
    {

        public void OnTestEvent(string report)
        {
            Console.WriteLine(report);
        }

    }
Run Code Online (Sandbox Code Playgroud)

如果我从类中删除ITestEventListener实现声明,它将完美地重新发现测试。

[TypeExtensionPoint(Description = "Test Reporter Extension")]
    public class MyTestEventListener //: ITestEventListener
    {

        public void OnTestEvent(string report)
        {
            Console.WriteLine(report);
        }

    }
Run Code Online (Sandbox Code Playgroud)

难道我做错了什么?有没有更好的方法来实现呢?

c# nunit

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

标签 统计

c# ×1

nunit ×1

paramiko ×1

python ×1

scp ×1

ssh ×1