Articles of python

表情符号在Linux中没有被python正则expression式检测到

我有一个正则expression式来检测emojis: emoji = u'(\ud83c[\udf00-\udfff]|\ud83d[\udc00-\ude4f\ude80-\udeff]|[\u2600-\u26FF\u2700-\u27BF])' 我用这个命令testing: re.match(emoji, u'\U0001f602', re.UNICODE) # "😂" 问题是如果在我的macOs机器中发现匹配,而不是在Linux Debian上 使用ipython 4.0.1和Python 2.7.11两者都来自conda发行版。 为什么在Linux上匹配的问题?

将Linux引导选项传递给Init

我想通过引导程序在引导时configuration的引导选项将一些parameter passing给定制的Linux init。 我已经在Python和C中编写了testinginit。Python版本能够在内核启动选项中看到没有“=”或“。”的任何内容。 在里面。 这些值在sys.argv中find。 但是,C程序似乎没有通过值。 我原以为Python中的sys.argv列表是通过parsing** argv数组生成的。 下面是testing脚本和屏幕截图,希望有助于澄清。 内核引导线是: kernel /grub/linux-2.6.38.4 root=/dev/vda1 init=/argv-{p|c} one two three four five Python版本: #!/usr/bin/python import sys i = 0 print("Printing argv[] (Python) …") for each in range(i, len(sys.argv)): print("argv[%d] – %s" % (i, sys.argv[i])) i += 1 print("…finished printing argv[]") C版本: #include <stdio.h> int main(int argc, char […]

为没有root权限的Theano安装cuDNN

我可以在本地安装cuDNN而无需root权限? 我没有root权限访问我正在使用的linux机器(发行版是openSuse),但是我已经安装了CUDA 7.5。 我正在使用Theano,我需要cuDNN来提高GPU上的操作速度。 我从Nvidia下载了cudnn-7.5-linux-x64-v5.1 ,并根据需要将CuDNN压缩文件复制到CUDA安装文件夹,即(cuda / lib64 /和cuda / include /)。 但是这将需要我有root权限。 我有可能在本地提取cudnn档案并为theano提供cudnn图书馆的path吗?

给予python GUI应用程序的root权限以在ubuntu中运行命令

现在,我有一个python GUI应用程序需要运行sudo权限的命令,如下所示: import commands iStat, askpassPath = commands.getstatusoutput("which ssh-askpass") cmd = "export SUDO_ASKPASS=%s;sudo -A mkdir -p /usr/lib/test"%(askpassPath) commands.getstatusoutput(cmd) 这工作正常,如果ssh-askpass已经安装在ubuntu.But似乎有些Ubuntu系统不安装它默认情况下,我不能安装它们。 所以,我需要知道是否有另一种方法让我获得sudo特权。 提前致谢。 编辑:应用程序不应该以root权限启动。只有在运行时才需要root权限。

Python:打string时从文本文件中打印下一行x行

情况如下: 我有一个.txt文件,几个nslookups的结果。 我想循环tru文件,每遇到string“Non-authoritative answer:”,脚本必须从该位置打印下面的8行。 如果它工作,我应该得到所有在我的屏幕上的积极成果:)。 首先我有以下代码: #!/bin/usr/python file = open('/tmp/results_nslookup.txt', 'r') f = file.readlines() for positives in f: if 'Authoritative answers can be found from:' in positives: print positives file.close() 但是,只有打印“权威的答案可以find:”在.txt中的时间。 代码我现在有: #!/bin/usr/python file = open('/tmp/results_nslookup.txt', 'r') lines = file.readlines() i = lines.index('Non-authoritative answer:\n') for line in lines[i-0:i+9]: print line, file.close() 但是当我运行它时,它将第一个结果很好地打印到我的屏幕上,但不打印其他结果。 PS我知道socket.gethostbyname(“foobar.baz”),但首先我想解决这个基本问题。 先谢谢你!

设置Linux以使用特定版本的python进行编译

我正在运行Ubuntu来编译一组需要python 2.4的代码。 我怎样才能设置terminal启动器,以便当我打开启动所有python相关的命令将使用python 2.4,而不是在Ubuntu默认的python 2.6?

如何在没有root权限的机器上安装virtualenv

我想在我没有root权限的Linux机器上安装virtualenv。 我看到了nettuts的屏幕录像( http://net.tutsplus.com/tutorials/python-tutorials/python-power-tools-virtualenv/ ),并试图按照步骤,但得到以下错误。 任何帮助表示赞赏。 /home/x01010/python/virtualenv-1.9.1 > which python /opt/xpyv/bin/python /home/x01010/python/virtualenv-1.9.1 > python virtualenv.py foo PYTHONHOME is set. You *must* activate the virtualenv before using it Traceback (most recent call last): File "virtualenv.py", line 2577, in <module> main() File "virtualenv.py", line 979, in main no_pip=options.no_pip) File "virtualenv.py", line 1081, in create_environment site_packages=site_packages, clear=clear)) File "virtualenv.py", […]

python的fcntl.flock函数是否提供文件访问的线程级locking?

Python的fcnt模块提供了一个名为[flock] [1]的方法来certificate文件locking。 它的描述如下: 对文件描述符fd执行锁操作op(也接受提供fileno()方法的文件对象)。 有关详细信息,请参阅Unix手册(2)。 (在某些系统上,这个函数是用fcntl()模拟的。) 查看flock的linux手册页,只涉及到跨进程locking,例如: 对flock()的调用可能会阻止另一个进程持有不兼容的锁。 要做出一个非阻塞的请求,包括LOCK_NB(ORing)与上述任何操作。 所以我的问题是:将flock()还提供线程安全locking和locking同一进程内的多个线程以及来自不同进程的线程? [1]: http : //docs.python.org/library/fcntl.html#fcntl.flockfunction是使用fcntl()模拟的。)

从subprocess更改父进程的目录

我创build了一个很酷的Python程序,可以帮助用户以交互方式导航到其他目录。 当他们到达那里,我想让他们击中input并退出程序,留在选定的目录。 然而,你总是最终在同一个目录,你开始在B / C只有subprocesspython的运行实际上改变目录和父进程的目录保持不变。

如何读取argv值而无需转义string?

我正在写一个名为flac2m4a的python脚本,它调用ffmpeg将.flac文件转换为.m4a文件。 核心程序是这样的: cmd = "ffmpeg -i %s -acodec alac %s.m4a" % (sys.argv[1], sys.argv[1][:-5]) os.system(cmd) 我可以使用这样的程序: ./flac2m4a path_to_the_song.flac 但是当我用一些特殊字符的名字来运行它时, ./flac4m4a.py Justin\ Bieber\ -\ Never\ Say\ Never\ -\ The\ Remixes/01\ -\ Never\ Say\ Never\ \(feat.\ Jaden\ Smith\).flac 在linux下,当我按Tab键自动完成时,特殊的字符会被一个\转义,但是当我从sys.argv[1]读取它们时,它们将被Python转换成普通的string: Justin Bieber – Never Say Never – The Remixes/01 – Never Say Never (feat. Jaden Smith).flac 所以我只是想知道如何阅读argv[1]完全按照用户input(与这些\ )