Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python 2.7.9中将列表复制到剪贴板(将复杂列表转换为字符串)_Python_String_Python 2.7_List - Fatal编程技术网

在Python 2.7.9中将列表复制到剪贴板(将复杂列表转换为字符串)

在Python 2.7.9中将列表复制到剪贴板(将复杂列表转换为字符串),python,string,python-2.7,list,Python,String,Python 2.7,List,我正在尝试编写一个程序,该程序登录到路由器,将show log命令的输出复制到剪贴板,并将其粘贴到文本文件或网页。我可以让它打印我想要的输出。以下是一个示例: .Feb 27 07:25:28.050: %OSPF-4-ERRRCV: Received invalid packet: Bad Checksum from 10.1.252.231, GigabitEthernet0/0/4 .Feb 27 07:25:38.135: %OSPF-4-ERRRCV: Received invali

我正在尝试编写一个程序,该程序登录到路由器,将
show log
命令的输出复制到剪贴板,并将其粘贴到文本文件或网页。我可以让它打印我想要的输出。以下是一个示例:

.Feb 27 07:25:28.050: %OSPF-4-ERRRCV: Received invalid packet: Bad Checksum from 10.1.252.231, GigabitEthernet0/0/4

.Feb 27 07:25:38.135: %OSPF-4-ERRRCV: Received invalid packet: Bad Checksum from 10.1.252.231, GigabitEthernet0/0/4

.Feb 27 07:25:53.001: %OSPF-4-ERRRCV: Received invalid packet: Bad Checksum from 10.1.252.231, GigabitEthernet0/0/4

.Feb 27 07:26:02.746: %OSPF-4-ERRRCV: Received invalid packet: Bad Checksum from 10.1.252.231, GigabitEthernet0/0/4

.Feb 27 07:26:12.033: %OSPF-4-ERRRCV: Received invalid packet: Bad Checksum from 10.1.252.231, GigabitEthernet0/0/4

.Feb 27 07:26:21.517: %OSPF-4-ERRRCV: Received invalid packet: Bad Checksum from 10.1.252.233, GigabitEthernet0/0/4

.Feb 27 07:26:35.721: %OSPF-4-ERRRCV: Received invalid packet: Bad Checksum from 10.1.252.233, GigabitEthernet0/0/4
但是,用于将其复制到剪贴板的代码段返回以下错误消息:

TypeError: GTK.Clipboard.set_text() argument 1 must be string, not list

关于如何将输出转换为字符串数据类型,有什么建议吗

您似乎有一个字符串列表,必须将其转换为单个字符串。假设该变量名为
strings
,则需要执行以下操作:

... set_text("\n".join(strings))

添加以下代码行解决了该问题,并成功地将“显示日志”输出复制到剪贴板:pyperclip.copy(“\n.join(log))

关于如何将输出转换为字符串数据类型,有什么建议吗


使用可以将列表转换为字符串。

“\n”。加入(您的\u列表)
?仍会收到相同的错误。下面是代码片段:stdin,stdout,stderr=ssh.exec_command('show log')log=stdout.readlines()“\n”。join(log)pyperclip.copy(log)
“\n”。join(log)
返回字符串。因此,要么执行
Log=“\n”.join(Log)
然后执行
pyperclip.copy(Log)
,要么简单地执行
pyperclip.copy(“\n”.join(Log))
pyperclip.copy(“\n”.join(Log))即可。非常感谢你!好的,我已经添加了语句set\u text(“\n”.join(Log)),错误消息说没有定义“set\u text”。这是特定库的关键字吗?好吧,您必须将
set\u text
方法中的参数从
.set\u text(arg)
替换为
set\u text(“\n”.join(arg))
。或者,如果您不直接调用
set\u text
方法,则应将该更改应用于调用该方法的对象。