我想从Linux上的python中获取进程ID的用户名,所以我可以这样显示:
name user name pid
Chrome wong2 123
Run Code Online (Sandbox Code Playgroud) 例如,我有一个功能foo:
int foo(int a, int b)
{
return a + b;
}
Run Code Online (Sandbox Code Playgroud)
我可以定义一个函数指针:
int (*pfoo)(int, int);
Run Code Online (Sandbox Code Playgroud)
但是我怎么能在程序中动态地做到这一点?
我想要一个函数,它接受一个函数作为参数,并返回一个函数指针,它接受相同的参数并返回给定函数的值.
然后我可以像这样使用它:
void* pfoo = getFuncPtrFromFunc(foo);
Run Code Online (Sandbox Code Playgroud)
上面的代码做了什么.
这可能吗?
我正在编写一个名为flac2m4a的python脚本,它调用ffmpeg将.flac文件转换为.m4a文件.核心计划是这样的:
cmd = "ffmpeg -i %s -acodec alac %s.m4a" % (sys.argv[1], sys.argv[1][:-5])
os.system(cmd)
Run Code Online (Sandbox Code Playgroud)
我可以像这样使用这个程序:
./flac2m4a path_to_the_song.flac
Run Code Online (Sandbox Code Playgroud)
但是当我为他们名字中带有特殊字符的歌曲运行时:
./flac4m4a.py Justin\ Bieber\ -\ Never\ Say\ Never\ -\ The\ Remixes/01\ -\ Never\ Say\ Never\ \(feat.\ Jaden\ Smith\).flac
Run Code Online (Sandbox Code Playgroud)
在linux下,当我按Tab键自动完成时,特殊字符将被转义为a \,但是当我从中读取它时sys.argv[1],它们将被Python转换为普通字符串:
Justin Bieber - Never Say Never - The Remixes/01 - Never Say Never (feat. Jaden Smith).flac
Run Code Online (Sandbox Code Playgroud)
所以我只想知道如何argv[1]准确读取用户输入的内容(带有那些\)
我想使用JavaScript为chrome://extensions/页面添加搜索栏,所以我创建了一个名为test.user.js的文件,并在其中编写脚本:
// ==UserScript==
// @name chromeex
// @namespace chromeex
// @version v1.0
/* @reason
* just a test
* @end
*/
// @match chrome://extensions/
//
// ==/UserScript==
(function(){
alert("haha");
}());
Run Code Online (Sandbox Code Playgroud)
但是当我在Chrome中加载它时,它说无效标题,最后我发现它@match chrome://extensions/是导致错误的.有没有一个解决方案?
javascript google-chrome userscripts google-chrome-extension
我正在从这张幻灯片中学习Python的生成器:http://www.dabeaz.com/generators/Generators.pdf
其中有一个例子,可以这样描述:
你有一个名为的日志文件log.txt,写一个程序到观看它的内容,如果有新行添加,打印它们.两种解决方案
1. with generator:
import time
def follow(thefile):
while True:
line = thefile.readline()
if not line:
time.sleep(0.1)
continue
yield line
logfile = open("log.txt")
loglines = follow(logfile)
for line in loglines:
print line
2. Without generator:
import time
logfile = open("log.txt")
while True:
line = logfile.readline()
if not line:
time.sleep(0.1)
continue
print line
Run Code Online (Sandbox Code Playgroud)
在这里使用发电机有什么好处?
我正在一个用户可以发布笔记的网站上工作.我正在考虑允许用户通过提供图像的URL来发布图像(即不通过表单上传).
但是,我已经了解到这可以用来做某种黑客攻击,例如,用户可以粘贴不是图像的网址,因此当页面加载时,将对该网址发出GET请求.
我想知道:
1.可以做些什么其他恶意事情,如何阻止它们?
2.有一种简单的方法(只使用JavaScript)来检查网址是否是图像?
例如,这是我的HTML代码:
?<p style="color:blue">?I'm Blue</p>
<p id="p_red">I'm Red?</p>
<p>?I'm default, black</p>
<input type="button" id="btn" value="Set color" />
Run Code Online (Sandbox Code Playgroud)
CSS:
?#p_red{
color: red;
}?
Run Code Online (Sandbox Code Playgroud)
单击按钮时,我想将页面的字体颜色变为绿色:
document.getElementById("btn").onclick = function(){
document.body.style.color = "green";
}?;?
Run Code Online (Sandbox Code Playgroud)
但似乎只有默认的一个(黑色的)改变了,蓝色和红色的一个不起作用......
怎么能这样做?
在这里小提琴:http://jsfiddle.net/M5AQ4/
我在 Mac OS X 下编译了一个module.pyx文件module.so,现在我可以将它用于:
from module import method1
然而,同样的.so文件在Linux上不起作用,我必须module.so在Linux下编译一个新的。
所以问题是,如何使用 Cython 编写跨平台(Mac 和 Linux)模块?
例如我有这个表:
| id | name | age |
id 是主键;
这是查询:
select id from table where age > 12 order by id desc
是否有必要附加id到索引,如:
KEY idx (age, id)
还是这个指数就够了?
KEY idx (age)
ps:我使用 INNODB 作为存储引擎。
我正在使用Python PIL在背景图像上渲染用户输入的文本(我正在使用枕头)。
代码很简单:
draw = ImageDraw.Draw(im)
draw.text((x, y), text, font=font, fill=font_color)
Run Code Online (Sandbox Code Playgroud)
问题是,用户可以用任何语言输入,如何确定font要使用哪种语言?
ps:我知道我必须首先拥有字体文件,所以我搜索并找到了Google Noto,下载了所有字体,将它们放入/usr/local/share/fonts/,但是这些字体是按语言分开的,因此我仍然无法加载可以呈现所有字体的字体用户输入的文本。