标签: python

Python 脚本 - 如何执行 linux 命令?

我必须做一堆文件复制、移动、svn check out 命令、目录检查等,我正在尝试制作一个脚本来为我做这件事。我有基本的 python 语法,但我不确定如何使用 python 来执行 linux 命令。我知道需要的 linux 命令,例如 sudo apt-get install subversion 我只是不知道如何将 python 包裹起来。

具体来说,任何人都可以举例说明如何:

  • 检查是否安装了软件包(如 svn),如果没有安装。我知道这是一个简单的 if 语句,但不知道如何编写它...
  • 检查是否安装了具有特定名称的文件夹,如果没有在桌面/其他目录上创建它。与上面我假设的类似。
  • 移动到某个目录并执行命令(就像我想在某个目录中提取一个 .tgz 文件一样)

还有更多,但我想掌握基本原理并实际学习如何使用 python 脚本执行 linux 命令。谢谢你的时间~

编辑:我特别需要使用 python

python scripts 12.04

3
推荐指数
1
解决办法
2443
查看次数

我如何安装灯台?

我对 Ubuntu 很陌生,我计划学习 python,我需要为它安装灯台。我在网上的任何地方都找不到任何具体的说明。请给我详细的步骤。此外,我在我的主目录中找不到任何 opt 文件夹,大多数网站都告诉我这是我必须复制提取的 light table 文件夹的地方。

python

3
推荐指数
1
解决办法
9878
查看次数

有没有办法在终结者中镜像目录更改?

我在 Ubuntu 12.04 上使用 Terminator 作为我的主要终端。我喜欢它,因为它让我可以在同一个视图中同时打开 python 解释器和 bash 终端。

令人讨厌的是,我最终在目录之间移动了很多,然后我必须这样做两次。有没有办法设置终结器配置来做到这一点?使终结者镜像目录发生变化。

我想我不是唯一一个感到沮丧的人!

python command-line bash terminator bashrc

3
推荐指数
1
解决办法
871
查看次数

不能安装 PySensors。“sudo pip install PySensors”生成“ValueError: /usr/bin/python: undefined symbol: libsensors_version”

我只是想让“Glances”按照这个问题中接受的帖子工作: Ubuntu 系统监控工具

但我无法安装 PySensors。命令sudo pip install PySensors抛出错误

ValueError: /usr/bin/python: undefined symbol: libsensors_version
Run Code Online (Sandbox Code Playgroud)

我也试过下载源代码并从那里构建它,但我得到(几乎)相同的错误消息:

ValueError: python: undefined symbol: libsensors_version
Run Code Online (Sandbox Code Playgroud)

注意:glances 似乎仍然有效,但我假设由于没有安装 PySensors,它缺少一些信息。

python pip

3
推荐指数
1
解决办法
3461
查看次数

如何在 Python 3 虚拟环境中为 iPython Notebook 安装 pyzmq?

我想在 Ubuntu 14.04 上的 Python 3 中使用 iPython Notebook。因为我的系统上同时安装了 Python 2.7 和 Python 3.4 - 并且出于其他特定于实现的原因 - 我决定使用 Python 虚拟环境(带有virtualenv)。到目前为止,关于这个主题的文章很少......

这些报告并不专门处理 Python 3 和虚拟环境。此外,安装 iPython Notebook的官方和各种非官方指南也不涉及这个用例。

我遇到的主要问题是 ZMQ 库。要在系统范围内安装库和 Python 绑定,我使用了apt-get

sudo apt-get install libzmq3 libzmq3-dev python3-zmq
Run Code Online (Sandbox Code Playgroud)

但是当我在我的pip install ipython[notebook]内部或外部尝试时,virtualenv安装将失败并显示退出状态 1 和警告:

Warning: Detected ZMQ version: 4.0.4, but pyzmq targets ZMQ 4.0.5.
Warning: libzmq features and fixes …
Run Code Online (Sandbox Code Playgroud)

python python3 virtualenv ipython

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

尝试在终端中运行 .py 脚本,但出现此错误

#!/usr/bin/python2.

import os
import sys
import subprocess
from PyQt4.QtCore import * 
from PyQt4.QtGui import * 
import socket
import struct
import random
import string
import signal
import hashlib
import atexit
import glob
OT_RSA = '109120132967399429278860960508995541528237502902798129123468757937266291492576446330739696001110603907230888610072655818825358503429057592827629436413108566029093628212635953836686562675849720620786279431090218017681061521755056710823876476444260558147179707119674283982419152118103759076030616683978566631413'

try:
    from PyQt4.phonon import Phonon
except ImportError:
    app = QtGui.QApplication(sys.argv)
    QtGui.QMessageBox.critical(None, "Music Player",
            "Your Qt installation does not have Phonon support.",
            QtGui.QMessageBox.Ok | QtGui.QMessageBox.Default,
            QtGui.QMessageBox.NoButton)
    sys.exit(1)

def padStr(string, length):
    strLen = len(string)
    for x in xrange(length-strLen):
        string += "\x00"

    return string

def quit(*a):
    for file in …
Run Code Online (Sandbox Code Playgroud)

python 14.04

3
推荐指数
1
解决办法
1210
查看次数

安装 miniconda Python 2.7

我正在尝试miniconda在 ubuntu 12.04 上安装Python 2.7。我已经写了这个:

if ! [ -f ~/.bash_profile ]; then touch ~/.bash_profile; fi
if ! [ -f ~/.bashrc ]; then touch ~/.bashrc; fi
if ! grep -q "source ~/.bashrc" ~/.bash_profile; then echo 'if [ -f    ~/.bashrc ]; then source ~/.bashrc; fi' >> ~/.bash_profile; fi
Run Code Online (Sandbox Code Playgroud)

然后我使用:

bash Miniconda-*.sh 
Run Code Online (Sandbox Code Playgroud)

但一个过程开始并永无止境。我不知道如何解决这个问题。

python

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

使用 bash 从方括号之间提取数字

我的文件看起来像这样:

[581]((((((((501:0.00024264,451:0.00024264):0.000316197,310:0.000558837):0.00857295,((589:0.000409158,538:0.000409158):0.000658084,207:0.00106724
):0.00806454):0.0429702,(((198:0.00390205,91:0.00390205):0.016191,79:0.0200931):0.0147515,(187:0.00133008,50:0.00133008):0.0335145):0.0172574):0.
127506,((140:0.00253019,117:0.00253019):0.0533693,(((533:0.00728707,(463:8.80494e-05,450:8.80494e-05):0.00719902):0.0217722,389:0.0290593):0.0253
931,(((141:0.018004,107:0.018004):0.0143861,(111:0.00396127,(106:0.00161229,12:0.00161229):0.00234898):0.0284289):0.0145736,(129:0.0195982,((123:
0.0105973,66:0.0105973):0.0084867,10:0.019084):0.000514243):0.0273656):0.00748854):0.00144709):0.123708):0.000944439,((181:0.00108761,71:0.00108761):0.0819772);  
[50]((((((((501:0.00024264,451:0.00024264):0.000316197,310:0.000558837):0.00857295,((589:0.000409158,538:0.000409158):0.000658084,207:0.00106724):0.00806454):0.0429702,(((198:0.00390205,91:0.00390205):0.016191,79:0.0200931):0.0147515,(187:0.00133008,50:0.00133008):0.0335145):0.0172574):0.127506,((140:0.00253019,117:0.00253019):0.0533693,(((533:0.00728707,(463:8.80494e-05,450:8.80494e-05):0.00719902):0.0217722,389:0.0290593):0.0253931,(((141:0.018004,107:0.018004):0.0143861,(111:0.00396127,(106:0.00161229,12:0.00161229):0.00234898):0.0284289):0.0145736,(129:0.0195982,((123:0.0105973,66:0.0105973):0.0084867,10:0.019084):0.000514243):0.0273656):0.00748854):0.00144709):0.123708):0.000944439,((181:0.00108761,71:0.00108761):0.0819772);
Run Code Online (Sandbox Code Playgroud)

每个新行都以 pattern 开头[number]。每行都以模式结束);

我需要从每一行的开头提取方括号中的数字,并将它们写入一个新文件。我事先不知道文件有多少行。

python command-line bash

3
推荐指数
2
解决办法
8108
查看次数

无法在 Ubuntu 14 上安装 lxml

我在我的虚拟机、云服务器、512MB RAM 的 Ubuntu 14.04.2 上安装 lxml 时遇到问题。对于正在经历此过程的人,我将记录路径上发生的问题的小步骤。

首先我没有安装要求,所以确保你已经安装了。可以在这里找到。

然后内存有些问题,因为512MB不够用。可以在此处找到有关如何使用交换扩展 RAMS 的优秀帖子。

现在我面临新的问题。在尝试执行sudo pip install lxml.

在 pip.log 我发现这个消息:

/usr/bin/ld: cannot find -lz
collect2: error: ld returned 1 exit status
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
Run Code Online (Sandbox Code Playgroud)

是我遗漏了一些“z”模块吗?我应该做些什么?

python lxml

3
推荐指数
1
解决办法
6714
查看次数

不同版本的python安装情况清晰

我在 ubuntu 上安装 python 时遇到了令人困惑的情况。

$ python --version
Python 3.4.0
$ python2 --version
Python 3.4.0
$ python3 --version
Python 3.4.0
$ ls -la /usr/bin/python2
lrwxrwxrwx 1 root root 9 Dez 21  2013 /usr/bin/python2 -> python2.7
$ ls -la /usr/bin/python3
lrwxrwxrwx 1 root root 9 Mär 23  2014 /usr/bin/python3 -> python3.4
Run Code Online (Sandbox Code Playgroud)

我想要的只是在命令“python”下执行 python3.4。所以我将 /usr/bin/python3 复制到 /usr/bin/python,因为python --version返回 2.7,现在返回 3.4。我不知道这是不是一个错误。

我试图用 pip 安装一个包,但失败了。然后我尝试重新安装 python ( sudo apt-get install --reinstall python),终端提示我运行“apt-get -f install”而没有包名。

$ sudo apt-get -f install
Reading package …
Run Code Online (Sandbox Code Playgroud)

python apt

3
推荐指数
1
解决办法
1601
查看次数

标签 统计

python ×10

bash ×2

command-line ×2

12.04 ×1

14.04 ×1

apt ×1

bashrc ×1

ipython ×1

lxml ×1

pip ×1

python3 ×1

scripts ×1

terminator ×1

virtualenv ×1