当前位置:首页 » 编程语言 » pythonlinux教程

pythonlinux教程

发布时间: 2022-12-09 05:37:55

A. linuxpython编写Linux自定义命令工具

摘要: Linux , Python

工作中需要频繁使用到一个字符串的md5,因此编写一个md5命令工具,输入字符串直接得到输出,并且命令支持参数设置,比如是否事先格式化,指定不同参数可以支持多功能输出,操作步骤如下

直接vim一个脚本,脚本名md5不需要.py后缀,这样更像一个命令,注意在脚本第一行引入python解释器,并设置utf-8编码

其中-f支持先格式化再得到md5,-l支持传入多个字符串用空格分开

赋予可执行权限

测试是否符合要求

直接放置到 /usr/local/bin 目录下(需要root权限)

也可以使用软连接的方式,推荐使用绝对路径

之后就可以在环境变量中直接使用到md5命令

shebang :中文翻译“释伴”,由 #! 开头的字符串,出现在文本文件的 第一行 。类UNIX操作系统的程序载入器会分析shebang后的内容,将这些内容作为解释命令,并调用该指令,并将载有 shebang的文件路径作为该解释器 的参数

比如 #!/bin/bash 就是使用/bin/bash作为解释器运行脚本,如果以Python作为解释器运行脚本先找到Python解释器的路径,一般在Linux自带的 /usr/bin/python 是Python2版本,也可以指定其他Python版本 #!/opt/anaconda3/bin/python ,第二行为 # coding=utf-8 用来指定编码格式,否则Python2输出中文乱码

对于自定义脚本,推荐放置在 /usr/local/bin 目录,有多个可执行文件目录在环境变量中,区别如下:
/bin : 包含二进制可执行文件,为系统最基本的命令,如ls等
/sbin : 与/bin 类似,不同之处是其为root权限命令文件
/usr/bin : 系统预装可执行文件,会随着系统升级而改变
/usr/sbin : 同上,不同之处是其为root权限运用
/usr/local/bin : 三级目录,用户自己的可执行文件,系统不管理
/usr/local/sbin : root权限用户程序

B. 如何在linux系统中安装python

linux系统中安装python包括以下三个步骤:

C. 如何在linux环境安装python软件

看下www.akppx.com

D. 如何在linux上安装python

一般linux系统都自带python2,你是要装python3?
给你centos下源码安装py3 的例子把。
如果已经安装好了python34
sudo yum remove python34

编译安装
python官网只为Linux提供了源码,因此我下载python3.6.1的源码压缩
第一步,CentOS装好openssl静态库
键入以下命令: yum install -y openssl-static
若未装该静态库会导致python3自带的pip3安装失败
第二步,编译python3源码
0. CentOS安装GCC和wget yum install -y gcc,wget
yum groupinstall "Development tools"
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
1. 先解压python3的源码包 wget http://python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz
tar xf Python-3.6.1.tar.xz
2. 配置安装路径 cd Python-3.6.1 //进入python3源码解压后的文件夹
./configure --prefix=/usr/local/python3 //默认配置文件并设置安装路径
3. 编译python3源码 make
4. 安装 make install
最终若无错误提示,说明安装成功
5. 添加文件链接 安装后键入命令?python3?提示不存在该命令,这是因为我们自定义了安装目录,因此需要添加文件链接,命令如下:
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
6. 测试 键入命令:
python3 -V
会输出python3版本信息,说明python3安装完成
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

E. python linux怎么操作

1. os 模块

1.1. os模块的exec方法族

Python的exec系统方法同Unix的exec系统调用是一致的。这些方法适用
于在子进程中调用外部程序的情况,因为外部程序会替换当前进程的代码,不会返回。( 这个看了点 help(os) --> search
"exec" 的相关介绍,但是没太搞明白咋使用)

1.2. os模块的system方法

system方法会创建子进程运行外部程序,方法只返回外部程序的运行结果。这个方法比较适用于外部程序没有输出结果的情况。

[python]
view plain

>>> import os
>>> os.system("echo \"Hello World\"") # 直接使用os.system调用一个echo命令
Hello World ——————> 打印命令结果
0 ——————> What's this ? 返回值?
>>> val = os.system("ls -al | grep \"log\" ") # 使用val接收返回值
-rw-r--r-- 1 root root 6030829 Dec 31 15:14 log ——————> 此时只打印了命令结果
>>> print val
0 ——————> 注意,此时命令正常运行时,返回值是0
>>> val = os.system("ls -al | grep \"log1\" ")
>>> print val
256 ——————> 使用os.system调用一个没有返回结果的命令,返回值为256~
>>>

注意:上面说了,此方法脂肪会外部程序的结果,也就是os.system的结果,所以如果你想接收命令的返回值,接着向下看~

1.3. os模块的popen方法

当需要得到外部程序的输出结果时,本方法非常有用,返回一个类文件对象,调用该对象的read()或readlines()方法可以读取输出内容。比如使用urllib调用Web API时,需要对得到的数据进行处理。os.popen(cmd) 要得到命令的输出内容,只需再调用下read()或readlines()等 如a=os.popen(cmd).read()

[python]
view plain

>>> os.popen('ls -lt') # 调用os.popen(cmd)并不能得到我们想要的结果
<open file 'ls -lt ', mode 'r' at 0xb7585ee8>
>>> print os.popen('ls -lt').read() # 调用read()方法可以得到命令的结果
total 6064
-rwxr-xr-x 1 long long 23 Jan 5 21:00 hello.sh
-rw-r--r-- 1 long long 147 Jan 5 20:26 Makefile
drwxr-xr-x 3 long long 4096 Jan 2 19:37 test
-rw-r--r-- 1 root root 6030829 Dec 31 15:14 log
drwxr-xr-x 2 long long 4096 Dec 28 09:36 pip_build_long
drwx------ 2 Debian-gdm Debian-gdm 4096 Dec 23 19:08 pulse-gylJ5EL24GU9
drwx------ 2 long long 4096 Jan 1 1970 orbit-long
>>> val = os.popen('ls -lt').read() # 使用变量可以接收命令返回值
>>> if "log" in val: # 我们可以使用in来判断返回值中有木有一个字符串
... print "Haha,there is the log"
... else:
... print "No,not happy"
...
Haha,there is the log

2. commands 模块

使用commands模块的getoutput方法,这种方法同popend的区别在于popen返回的是一个类文件对象,而本方法将外部程序的输出结果当作字符串返回,很多情况下用起来要更方便些。
主要方法:

* commands.getstatusoutput(cmd) 返回(status, output)
* commands.getoutput(cmd) 只返回输出结果
* commands.getstatus(file) 返回ls -ld file的执行结果字符串,调用了getoutput,不建议使用此方法

[python]
view plain

long@zhouyl:/tmp/tests$ python
Python 2.7.3 (default, Jan 2 2013, 16:53:07)
[GCC 4.7.2] on linux2
Type "help", "right", "credits" or "license" for more information.
>>> import commands
>>> commands.getstatusoutput('ls -lt') # 返回(status, output)
(0, 'total 5900\n-rwxr-xr-x 1 long long 23 Jan 5 21:34 hello.sh\n-rw-r--r-- 1 long long 147 Jan 5 21:34 Makefile\n-rw-r--r-- 1 long long 6030829 Jan 5 21:34 log')
>>> commands.getoutput('ls -lt') # 返回命令的输出结果(貌似和Shell命令的输出格式不同哈~)
'total 5900\n-rwxr-xr-x 1 long long 23 Jan 5 21:34 hello.sh\n-rw-r--r-- 1 long long 147 Jan 5 21:34 Makefile\n-rw-r--r-- 1 long long 6030829 Jan 5 21:34 log'
>>> commands.getstatus('log') # 调用commands.getoutput中的命令对'log'文件进行相同的操作
'-rw-r--r-- 1 long long 6030829 Jan 5 21:34 log'
>>>

3. subprocess模块

根据Python官方文档说明,subprocess模块用于取代上面这些模块。有一个用Python实现的并行ssh工具—mssh,代码很简短,不过很有意思,它在线程中调用subprocess启动子进程来干活。

[python]
view plain

>>> from subprocess import call
>>> call(["ls", "-l"])

subprocess与system相比的优势是它更灵活(你可以得到标准输出,标准错误,“真正”的状态代码,更好的错误处理,等..)。我认为使用os.system已过时,或即将过时。

F. linux怎么安装python

打开终端,输入:wget https://www.python.org/ftp/python/3.5.0/Python-3.5.0b4.tgz
下载完毕后 输入解压命令:tar –zxvf Python-3.5.0b4.tgz
切换到解压的目录:cd Python*
接下来就是安装:
./configure
make
make install

然后查看一下就知道了:
Python 3.5.0 (#1, Aug 06 2015, 14:04:52)
[GCC 4.1.1 20061130 (Red Hat 4.1.1-43)] on linux2
Type “help”, “right”, “credits” or “license” for more information.
就说明成功了,因为linux系统可能不一样,第二行有可能不同哈。

G. Python脚本在Linux上怎么运行

一、首先下载安装python,建议安装2.7版本以上,3.0版本以下,由于3.0版本以上不向下兼容,体验较差。

热点内容
go语言编译模式 发布:2025-01-20 19:57:25 浏览:405
超能编程 发布:2025-01-20 19:56:26 浏览:1000
安卓手机怎么连蓝牙汽车 发布:2025-01-20 19:39:05 浏览:253
保定军工存储厂家 发布:2025-01-20 19:38:53 浏览:795
云服务器ecs服务条款 发布:2025-01-20 19:19:36 浏览:47
安卓系统显示屏怎么设置屏保 发布:2025-01-20 19:18:53 浏览:896
有锁机和配置锁哪个好 发布:2025-01-20 19:18:05 浏览:767
安卓版软件如何设置 发布:2025-01-20 18:58:53 浏览:58
java中级项目案例 发布:2025-01-20 18:58:52 浏览:913
sql日志查看工具 发布:2025-01-20 18:57:12 浏览:243