我经常需要在编程期间杀死进程.
我现在这样做的方式是:
[~]$ 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) 在Lyx文档中插入python/C++代码的最佳方法是什么?代码是少于20行的小例子.
我的Lyx文档正在使用Book文档类.
Orjanp
假设我在一个小应用程序中有以下字典.
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) 我没有找到更好的方法来改变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) 我有以下代码.
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 ...
当我关闭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
场景.我有一个客户端与服务器的两个网络连接.一个连接使用移动电话,另一个连接使用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) 是否可以在保存文件时自动删除交换文件,并在文件更改时自动再次创建?
这是一个好主意吗?
编辑:想要这样做的原因是,如果计算机突然断电或崩溃,我不必对上次保存后没有变化的文件进行差异处理.
提到的差异过程是; 首先打开文件只读,保存在不同的文件名下,vimdiffing它,最后删除它.
它不会经常发生,但它确实很烦人.
如何将视频剪辑插入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) 编程语言是一种正式的编程语言是什么意思?哪种语言是正式的编程语言?哪些是非正式的编程语言?
我还没有找到一个很好的解释.