小编Orj*_*anp的帖子

使用bash和regex在一行中查找并终止进程

我经常需要在编程期间杀死进程.

我现在这样做的方式是:

[~]$ ps aux | grep 'python csp_build.py'
user    5124  1.0  0.3 214588 13852 pts/4    Sl+  11:19   0:00 python csp_build.py
user    5373  0.0  0.0   8096   960 pts/6    S+   11:20   0:00 grep python csp_build.py
[~]$ kill 5124
Run Code Online (Sandbox Code Playgroud)

如何自动提取进程ID并在同一行中终止它?

像这样:

[~]$ ps aux | grep 'python csp_build.py' | kill <regex that returns the pid>
Run Code Online (Sandbox Code Playgroud)

regex bash terminal awk

595
推荐指数
13
解决办法
46万
查看次数

在Lyx文档中插入编程代码

在Lyx文档中插入python/C++代码的最佳方法是什么?代码是少于20行的小例子.

我的Lyx文档正在使用Book文档类.

Orjanp

lyx

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

将变量写入文件,包括名称

假设我在一个小应用程序中有以下字典.

dict = {'one': 1, 'two': 2}
Run Code Online (Sandbox Code Playgroud)

如果我想将具有dict名称和所有内容的确切代码行写入文件,该怎么办?python中有一个函数可以让我这样做吗?或者我是否必须先将其转换为字符串?转换它不是问题,但也许有一种更简单的方法.

我不需要将它转换为字符串的方法,我可以做.但如果有一个内置函数可以为我做这个,我想知道.

为了说清楚,我想写的文件是:

write_to_file("dict = {'one': 1, 'two': 2}")
Run Code Online (Sandbox Code Playgroud)

python

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

动态更改wx.ComboBox()中的选项

我没有找到更好的方法来改变wx.ComboBox()中的不同选择,而不是将旧的ComboBox与新的交换.有没有更好的办法?

Oerjan Pettersen

#!/usr/bin/python

#20_combobox.py

import wx
import wx.lib.inspection

class MyFrame(wx.Frame):
    def __init__(self, *args, **kwargs):
        wx.Frame.__init__(self, *args, **kwargs)

        self.p1 = wx.Panel(self)
        lst = ['1','2','3']
        self.st = wx.ComboBox(self.p1, -1, choices = lst, style=wx.TE_PROCESS_ENTER)

        self.st.Bind(wx.EVT_COMBOBOX, self.text_return)


    def text_return(self, event):
        lst = ['3','4']
        self.st = wx.ComboBox(self.p1, -1, choices = lst, style=wx.TE_PROCESS_ENTER)


class MyApp(wx.App):
    def OnInit(self):
        frame = MyFrame(None, -1, '20_combobox.py')
        frame.Show()
        self.SetTopWindow(frame)
        return 1

if __name__ == "__main__":
    app = MyApp(0)
#    wx.lib.inspection.InspectionTool().Show()
    app.MainLoop()
Run Code Online (Sandbox Code Playgroud)

python wxwidgets wxpython

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

Python xml minidom.生成<text>一些文本</ text>元素

我有以下代码.

from xml.dom.minidom import Document

doc = Document()

root = doc.createElement('root')
doc.appendChild(root)
main = doc.createElement('Text')
root.appendChild(main)

text = doc.createTextNode('Some text here')
main.appendChild(text)

print doc.toprettyxml(indent='\t')
Run Code Online (Sandbox Code Playgroud)

结果是:

<?xml version="1.0" ?>
<root>
    <Text>
        Some text here
    </Text>
</root>
Run Code Online (Sandbox Code Playgroud)

这一切都很好,但是如果我希望输出看起来像这样呢?

<?xml version="1.0" ?>
<root>
    <Text>Some text here</Text>
</root>
Run Code Online (Sandbox Code Playgroud)

这可以轻松完成吗?

Orjanp ...

python xml minidom

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

wxpython auinotebook关闭标签事件

当我关闭auinotebook中的标签时会使用什么事件?我用EVT_AUINOTEBOOK_PAGE_CLOSE(D)进行了测试.它没用.

我还要右键单击选项卡本身事件.

我在哪里可以找到可以与aui manager/notebook一起使用的所有事件?可能只是我糟糕的搜索技能,但我找不到存在的不同事件的任何列表,也不能找到鼠标/窗口事件.拥有一份完整的清单真的很方便.

#!/usr/bin/python

#12_aui_notebook1.py

import wx
import wx.lib.inspection

class MyFrame(wx.Frame):
    def __init__(self, *args, **kwds):
        wx.Frame.__init__(self, *args, **kwds)

        self.nb = wx.aui.AuiNotebook(self)

        self.new_panel('Page 1')
        self.new_panel('Page 2')
        self.new_panel('Page 3')

        self.nb.Bind(wx.EVT_AUINOTEBOOK_PAGE_CLOSED, self.close)

    def new_panel(self, nm):
        pnl = wx.Panel(self)
        pnl.identifierTag = nm
        self.nb.AddPage(pnl, nm)
        self.sizer = wx.BoxSizer()
        self.sizer.Add(self.nb, 1, wx.EXPAND)
        self.SetSizer(self.sizer)

    def close(self, event):
        print 'closed'

class MyApp(wx.App):
    def OnInit(self):
        frame = MyFrame(None, -1, '12_aui_notebook1.py')
        frame.Show()
        self.SetTopWindow(frame)
        return 1

if __name__ == "__main__":
    app = MyApp(0)
#    wx.lib.inspection.InspectionTool().Show()
    app.MainLoop()
Run Code Online (Sandbox Code Playgroud)

Oerjan Pettersen

python wxwidgets wxpython

7
推荐指数
1
解决办法
3442
查看次数

在python中模拟慢速网络的简单方法

场景.我有一个客户端与服务器的两个网络连接.一个连接使用移动​​电话,另一个连接使用wlan连接.

我解决这个问题的方法是让服务器监听两个端口.但是,移动连接应该比wlan连接慢.发送的数据通常只是一行文本.我通过允许移动连接以五秒间隔发送数据解决了较慢的连接问题,wlan连接的间隔为一秒.

但是有更好的方法来减速吗?也许通过发送较小的数据包,这意味着我需要发送更多数据?

有什么想法可以减缓其中一个连接的速度?

Orjanp

一个只有一个连接的简单客户端示例.

def client():
    import sys, time, socket

    port = 11111
    host = '127.0.0.1'
    buf_size = 1024

    try:
        mySocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        mySocket.connect((host, port))
    except socket.error, (value, message):
        if mySocket:
            mySocket.close()
        print 'Could not open socket: ' + message
        sys.exit(1)
    mySocket.send('Hello, server')
    data = mySocket.recv(buf_size)
    print data
    time.sleep(5)

    mySocket.close()

client()
Run Code Online (Sandbox Code Playgroud)

一个简单的服务器,监听一个端口.

def server():
    import sys, os, socket

    port = 11111
    host = ''
    backlog = 5
    buf_size = 1024

    try:
        listening_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
        listening_socket.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1) 
        listening_socket.bind((host, port)) …
Run Code Online (Sandbox Code Playgroud)

python networking network-programming

7
推荐指数
1
解决办法
8183
查看次数

Vim,在保存文件时自动删除交换文件

是否可以在保存文件时自动删除交换文件,并在文件更改时自动再次创建?

这是一个好主意吗?

编辑:想要这样做的原因是,如果计算机突然断电或崩溃,我不必对上次保存后没有变化的文件进行差异处理.

提到的差异过程是; 首先打开文件只读,保存在不同的文件名下,vimdiffing它,最后删除它.

它不会经常发生,但它确实很烦人.

vim

7
推荐指数
1
解决办法
3481
查看次数

在lyx演示文稿中插入视频片段并在GNU/Linux中播放

如何将视频剪辑插入Lyx中创建的演示文稿中?

见过http://www.latex-community.org/forum/viewtopic.php?f=19&t=48.它有效,但视频在外部播放器的后台启动.

我希望它能在演示文稿中播放.如果使用外部播放器,它至少应该从前台开始.但演示文稿占据了前景.在GNU/linux中使用evince作为pdf查看器.Beamer用作演示模板.

是否可以在演示文稿本身的嵌入式播放器中播放视频文件?

创建了一个示例演示文稿.代码如下.

\documentclass[english]{beamer}
\usepackage{mathptmx}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{amsmath}
\usepackage{amssymb}

\makeatletter
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Textclass specific LaTeX commands.
 % this default might be overridden by plain title style
 \newcommand\makebeamertitle{\frame{\maketitle}}%
 \AtBeginDocument{
   \let\origtableofcontents=\tableofcontents
   \def\tableofcontents{\@ifnextchar[{\origtableofcontents}{\gobbletableofcontents}}
   \def\gobbletableofcontents#1{\origtableofcontents}
 }
 \makeatletter
 \long\def\lyxframe#1{\@lyxframe#1\@lyxframestop}%
 \def\@lyxframe{\@ifnextchar<{\@@lyxframe}{\@@lyxframe<*>}}%
 \def\@@lyxframe<#1>{\@ifnextchar[{\@@@lyxframe<#1>}{\@@@lyxframe<#1>[]}}
 \def\@@@lyxframe<#1>[{\@ifnextchar<{\@@@@@lyxframe<#1>[}{\@@@@lyxframe<#1>[<*>][}}
 \def\@@@@@lyxframe<#1>[#2]{\@ifnextchar[{\@@@@lyxframe<#1>[#2]}{\@@@@lyxframe<#1>[#2][]}}
 \long\def\@@@@lyxframe<#1>[#2][#3]#4\@lyxframestop#5\lyxframeend{%
   \frame<#1>[#2][#3]{\frametitle{#4}#5}}
 \makeatother
 \def\lyxframeend{} % In case there is a superfluous frame end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands.
\usetheme{Warsaw}
\usepackage{hyperref}

\makeatother

\usepackage{babel}

\begin{document}

\title{Testing video}

\makebeamertitle

\lyxframeend{}\section{Testing video}


\lyxframeend{}\subsection{Testing video}


\lyxframeend{}\lyxframe{Testing video}

\href{run:video.wmv}{Movie}

\appendix

\lyxframeend{}
\end{document}
Run Code Online (Sandbox Code Playgroud)

linux video latex lyx

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

什么是正式的编程语言?

编程语言是一种正式的编程语言是什么意思?哪种语言是正式的编程语言?哪些是非正式的编程语言?

我还没有找到一个很好的解释.

programming-languages formal-languages

6
推荐指数
1
解决办法
8494
查看次数