Questions tagged «python»

Python是一种解释型通用高级编程语言,其设计理念强调代码的可读性。

3
替换文件中的多行字符串
我有许多文件想要通过用另一个多行字符串替换一个多行字符串来更新。类似于以下内容: * Some text, * something else * another thing 我想替换为: * This is completely * different text 结果将是,替换后包含第一个文本块的文件现在将包含第二个字符串(文件的其余部分保持不变)。 问题的一部分是,我必须在文件系统中找到要更新的文件列表。我想我可以为此使用grep(尽管再次使用多行字符串不是那么容易),然后将其通过sed传送吗? 是否有捷径可寻?sed是一个选项,但是很尴尬,因为我必须添加\ n等。是否有办法说“从此文件中获取输入,在这些文件中进行匹配,然后用另一个文件的内容替换”?我可以在需要时使用python,但是我想要快速简单的方法,因此,如果有可用的实用程序,我宁愿使用它而不是编写自己的脚本(我知道该怎么做)。

6
每当我输入废话命令时,为什么会生成此python错误消息?
每当我键入任何“废话”命令时,都会生成此python错误消息。普通命令可以正常工作。知道如何调试吗? $ somenonexistingcommand Traceback (most recent call last): File "/usr/local/lib/python2.7/site.py", line 553, in <module> main() File "/usr/local/lib/python2.7/site.py", line 535, in main known_paths = addusersitepackages(known_paths) File "/usr/local/lib/python2.7/site.py", line 268, in addusersitepackages user_site = getusersitepackages() File "/usr/local/lib/python2.7/site.py", line 243, in getusersitepackages user_base = getuserbase() # this will also set USER_BASE File "/usr/local/lib/python2.7/site.py", …
16 bash  ubuntu  python 

5
如何列出dbus服务下的所有对象路径?
这是“可用的DBus服务列表”的后续问题。 以下python代码将列出所有可用的DBus服务。 import dbus for service in dbus.SystemBus().list_names(): print(service) 我们如何列出python服务中的对象路径?可以选择,但答案不涉及python也可以。 我正在使用Ubuntu 14.04
16 python  d-bus  ipc 


5
在剧本的shebang行中,我怎么可能有不止一种可能性?
我处于一个有趣的情况,我有一个Python脚本,理论上可以由具有各种环境(和PATH)的各种用户以及各种Linux系统上运行。我希望此脚本在尽可能多的可执行文件上不受人为限制。以下是一些已知的设置: Python 2.6是系统Python版本,因此python,python2和python2.6都存在于/ usr / bin中(并且是等效的)。 如上所述,Python 2.6是系统Python版本,但Python 2.7与python2.7一同安装。 Python 2.4是系统Python版本,我的脚本不支持该版本。在/ usr / bin中,我们有等效的python,python2和python2.4,以及脚本支持的python2.5。 我想对所有这三个脚本运行相同的可执行python脚本。如果它先尝试使用/usr/bin/python2.7(如果存在),然后回退至/usr/bin/python2.6,然后回退至/usr/bin/python2.5,然后再回退,那就太好了如果这些都不存在,就简单地将错误提示出来。不过,我不太可能使用最新的2.x,只要它能够找到正确的解释器之一(如果存在)。 我的第一个倾向是将shebang线从以下位置更改: #!/usr/bin/python 至 #!/usr/bin/python2.[5-7] 因为这在bash中效果很好。但是运行脚本可以得到: /usr/bin/python2.[5-7]: bad interpreter: No such file or directory 好的,所以我尝试以下方法,它也可以在bash中使用: #!/bin/bash -c /usr/bin/python2.[5-7] 但是,再次失败: /bin/bash: - : invalid option 好的,显然我可以编写一个单独的shell脚本来找到正确的解释器,并使用找到的任何解释器运行python脚本。我会发现分发两个文件很麻烦,只要在安装了最新的python 2解释器的情况下运行一个文件就足够了。要求人们明确地调用解释器(例如$ python2.5 script.py)不是一种选择。也不能选择依靠用户的PATH进行某种设置。 编辑: 版本的Python脚本内检查是不是因为我用它存在像Python 2.6的(并可以在2.5与所使用的“与”语句去上班from __future__ import with_statement)。这会导致脚本立即失败,并出现用户不友好的SyntaxError,并阻止我有机会先检查版本并发出适当的错误。 示例:(使用小于2.6的Python解释器尝试此操作) #!/usr/bin/env …
16 bash  scripting  python 

3
在默认安装中,在哪个unix发行版上安装了Python?
有谁知道概述将记录默认情况下哪个(最新)UNIX发行版Python可用的概述,即默认安装的一部分? PS:在问题移到此处之前,来自StackOverflow的答案: 并非所有Unix操作系统都知道,但是对于Linux,您可以随时访问distrowatch.org。但这不是发布此类问题的合适网站:请将其移至unix.stackexchange.com – vstrien 2小时前 我想不出默认没有安装任何发行版。如今,许多基本的系统工具都是用Python编写的。– Daniel Roseman 1小时前 默认情况下,它不在LFS中安装... – Oz123 1小时前

1
如何使用systemd在virtualenv中运行命令
我认为这应该很简单,但我无法使其正常工作。 这些是我可以在命令行上运行的命令: cd /home/debian/ap # Start a virtualenv source venv-ap/bin/activate # This needs to happen inside the virtualenv and takes ~20 seconds crossbar start # Outside the virtualenv, perhaps in a different command line window python3 /home/debian/myscript.py 这些命令必须按此顺序完成。由于virtualenv,crossbar的非可执行性以及之后的单独python脚本,因此我无法找出使此功能正常工作的最佳方法。我目前正在进行的工作: [Unit] Description=Start CB After=network.target [Service] Type=simple User=debian ExecStartPre=source /home/debian/ap/venv-ap/bin/activate ExecStart=cd /home/debian/ap/ && …

2
CentOS上的iotop命令出错
在新安装的CentOS 7.5的终端中使用sudo iotop(最新版本0.6-2.el7)时,出现以下错误消息: Traceback (most recent call last): File "/sbin/iotop", line 17, in <module> main() File "/usr/lib/python2.7/site-packages/iotop/ui.py", line 620, in main main_loop() File "/usr/lib/python2.7/site-packages/iotop/ui.py", line 610, in <lambda> main_loop = lambda: run_iotop(options) File "/usr/lib/python2.7/site-packages/iotop/ui.py", line 508, in run_iotop return curses.wrapper(run_iotop_window, options) File "/usr/lib64/python2.7/curses/wrapper.py", line 43, in wrapper return func(stdscr, *args, …
14 centos  python  iotop 

8
给定EXIF数据,如何重命名照片?
假设我有一堆照片,所有照片都带有正确的EXIF信息,并且这些照片是随机命名的(因为我遇到了问题)。我有一个小程序jhead,它给出以下输出: $ jhead IMG_9563.JPG File name : IMG_9563.JPG File size : 638908 bytes File date : 2011:02:03 20:25:09 Camera make : Canon Camera model : Canon PowerShot SX210 IS Date/Time : 2011:02:03 20:20:24 Resolution : 1500 x 2000 Flash used : Yes (manual) Focal length : 5.0mm (35mm equivalent: 29mm) …
14 bash  rename  python  exif 

2
什么是grep -v的python等价物?
我喜欢grep -v。我用它所有的时间。但是我也正在用python做一些文本处理,而我缺少一件事。 通常,我通常grep -v将多余的内容从文本中删除。 例如, $ grep -v '[a-z]' # (I manually review this output to confirm that I don't want those lines) $ grep '[a-z]' > linesiwanted 但是如何匹配Python中的正则表达式的补码?例如,\w?的补码。


2
修复python设置
在我的Kubuntu 14.4(标准为python 2.7.6)上,我在python.org上借助如何分别在Debian上安装最新的Python版本或从python.org构建源代码后尝试安装python 2.7.10之后,python断开了升级?。我无法使用标准命令来修复它,我怀疑我的dpkg关于python安装感到困惑/中断。我想在这方面修复dpkg。我怀疑这事做与文件/var/lib/dpkg/status和/var/lib/dpkg/available与/var/lib/dpkg/info/*particularily第一。我认为我必须以dpkg某种方式重设,但我确实不是专家。我认为这是因为: $ apt-cache policy python python: Installed: 2.7.10-1 Candidate: 2.7.10-1 Version table: *** 2.7.10-1 0 100 /var/lib/dpkg/status 2.7.5-5ubuntu3 0 500 http://de.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages $ /usr/bin/python2.7 Python 2.7.6 (default, Jun 22 2015, 17:58:13) [GCC 4.8.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> …

2
如何在Raspbian上激活Xorg记录模块?
我正在尝试在RaspberryPi上自动化一些测试,并且正在使用python的pymouse来执行一些模拟点击。在我的Debian上,它可以正常工作,但是当涉及到Raspbian时,在尝试导入pymouse时,它始终失败并显示以下错误消息: pi@pi ~/ $ python test.py Traceback (most recent call last): File "test.py", line 2, in <module> from pymouse import PyMouse File "/usr/local/lib/python2.7/dist-packages/pymouse/__init__.py", line 95, in <module> from unix import PyMouse, PyMouseEvent File "/usr/local/lib/python2.7/dist-packages/pymouse/unix.py", line 53, in <module> class PyMouseEvent(PyMouseEventMeta): File "/usr/local/lib/python2.7/dist-packages/pymouse/unix.py", line 54, in PyMouseEvent ctx = display2.record_create_context( File …
13 x11  xorg  python 

4
为什么python被删除后仍然可以正常工作?
在Debian 8 jessie上,我删除了python: perry@perry:~$ sudo apt-get remove python Reading package lists... Done Building dependency tree Reading state information... Done Package 'python2.7' is not installed, so not removed 0 upgraded, 0 newly installed, 0 to remove and 35 not upgraded. 但是我仍然可以从终端启动python。 perry@perry:~$ python Python 2.7.9 (default, Apr 29 2015, 18:34:06) [GCC …
13 debian  apt  python 

4
如何用Python替换bash?
根据对此SO问题的公认答案:,Python可以替代bash。 那么我的问题是:我该如何进行无缝切换?我认为要进行这样的切换的主要事情是:启动虚拟终端时,调用一些Python Shell(虽然?),而不是像Bourne Shell这样的东西。 那有意义吗?如果是,我该怎么做?Wikipedia对常见shell的比较未列出单个Python shell:命令shell的比较
13 shell  python 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.