【Linux/Ubuntu】Linux/Ubuntu运行python脚本

简介: 【Linux/Ubuntu】Linux/Ubuntu运行python脚本

第一步:查看系统是否有python3

打开终端,输入:

python3

如果有python,会出现以下信息:

lcl@ubuntu:~$ python3

Python 3.6.9 (default, Mar 15 2022, 13:55:28)

[GCC 8.4.0] on linux

Type “help”, “copyright”, “credits” or “license” for more information.

第二步:编写python脚本

特别注意:python脚本的首行应加上如下代码:

#!/usr/bin/python

如果python中有中文,在代码中应加如下代码:

# -*- coding: utf-8 -*-

第三步:运行python脚本

cd到自己python脚本的目录下,然后 ./xxx.py 执行自己的脚本

cd textlicense/
./LicenseCheck.py

注意:如果你的脚本是在windows下编写的,移动到Linux下,可能出现如下报错。

lcl@ubuntu:~$ cd textlicense/

lcl@ubuntu:~/textlicense$ ./LicenseCheck.py

bash: ./LicenseCheck.py: /usr/bin/python^M: bad interpreter: No such file or directory

问题解决:问题一

如果出现 bash: ./LicenseCheck.py: /usr/bin/python^M: bad interpreter: No such file or directory,说明当前脚本的属性是DOS,只有在Windows下可用,在Linux下不可用。

因此,如果需要在linux使用,需要将DOC格式转换为UNIX格式。

具体操作如下:

(1)终端中打开要运行的python文件

vi LicenseCheck.py

(2)输入如下命令查看文件格式

:set ff 或 :set fileformat

(3)文档编辑器下面会出现

fileformat=dos 或 fileformat=unix

注意:fileformat=dos 说明,该文件只能在windows下运行,在linux下运行需要转换为unix格式(见(4))

(4)将文件格式修改为unix格式

:set ff=unix 或 :set fileformat=unix

(5)保存退出

:wq

(6)在运行python脚本

问题解决:问题二

运行脚本时,出现TypeError: ‘encoding’ is an invalid keyword argument for this function的报错,错误原因:

def logfile(self, text):
        with open('LicenseChecked.log', 'a+', encoding='utf-8') as f:
            t = time.strftime('%y-%m-%d %H:%M:%S')
            text = t + " " + text + '\n'
            f.write(text)
        f.close()
        return text

需要导入io模块,并且需要将:

(1)with open(‘LicenseChecked.log’, ‘a+’, encoding=‘utf-8’) as f:改为 with io.open(‘LicenseChecked.log’, ‘a+’, encoding=‘utf-8’) as f:

(2)f.write(text) 改为 f.write(text.decode(“utf-8”))

修改后如下所示:

import io
    def logfile(self, text):
        with io.open('LicenseChecked.log', 'a+', encoding='utf-8') as f:
            t = time.strftime('%y-%m-%d %H:%M:%S')
            text = t + " " + text + '\n'
            f.write(text.decode("utf-8"))
        f.close()
        return text

ps:我也不知道,为什么装的python3,但是,执行却是按照python2的规则。

问题解决:问题三

运行执行脚本时出现:TypeError: write() argument 1 must be unicode, not str 报错,需要将:

f.write(text) 改为 f.write(text.decode(“utf-8”))

【 详 情 参 见 问 题 二 】

以上就是python脚本在Linux中运行的步骤,如果喜欢,点个关注再走吧!!!!

相关文章
|
1月前
|
Ubuntu Linux 开发者
Ubuntu20.04搭建嵌入式linux网络加载内核、设备树和根文件系统
使用上述U-Boot命令配置并启动嵌入式设备。如果配置正确,设备将通过TFTP加载内核和设备树,并通过NFS挂载根文件系统。
101 15
|
2月前
|
Ubuntu Linux Go
golang编译成Linux可运行文件
本文介绍了如何在 Linux 上编译和运行 Golang 程序,涵盖了本地编译和交叉编译的步骤。通过这些步骤,您可以轻松地将 Golang 程序编译成适合 Linux 平台的可执行文件,并在目标服务器上运行。掌握这些技巧,可以提高开发和部署 Golang 应用的效率。
283 14
|
2月前
|
Linux Python
Linux 安装python3.7.6
本教程介绍在Linux系统上安装Python 3.7.6的步骤。首先使用`yum`安装依赖环境,包括zlib、openssl等开发库。接着通过`wget`下载Python 3.7.6源码包并解压。创建目标文件夹`/usr/local/python3`后,进入解压目录执行配置、编译和安装命令。最后设置软链接,使`python3`和`pip3`命令生效。
|
2月前
|
数据挖掘 vr&ar C++
让UE自动运行Python脚本:实现与实例解析
本文介绍如何配置Unreal Engine(UE)以自动运行Python脚本,提高开发效率。通过安装Python、配置UE环境及使用第三方插件,实现Python与UE的集成。结合蓝图和C++示例,展示自动化任务处理、关卡生成及数据分析等应用场景。
178 5
|
3月前
|
存储 缓存 Ubuntu
Ubuntu Linux目录结构
理解Ubuntu Linux的目录结构对系统管理、维护和故障排除至关重要。每个目录都有其特定的用途和存放内容,通过了解这些目录,可以更高效地管理系统文件,确保系统的稳定运行。希望本文对你深入理解Ubuntu的目录结构有所帮助。
101 1
|
3月前
|
Ubuntu Shell 开发工具
ubuntu/debian shell 脚本自动配置 gitea git 仓库
这是一个自动配置 Gitea Git 仓库的 Shell 脚本,支持 Ubuntu 20+ 和 Debian 12+ 系统。脚本会创建必要的目录、下载并安装 Gitea,创建 Gitea 用户和服务,确保 Gitea 在系统启动时自动运行。用户可以选择从官方或小绿叶技术博客下载安装包。
130 2
|
4月前
|
机器学习/深度学习 人工智能 Ubuntu
|
4月前
|
并行计算 Ubuntu Linux
Ubuntu学习笔记(三):Linux下操作指令大全
Ubuntu学习笔记,介绍了Linux操作系统中常用的命令和操作,如文件管理、系统信息查看、软件安装等。
63 3
|
4月前
|
安全 Linux 开发者
|
4月前
|
Ubuntu Linux 网络安全
如何在Ubuntu 22.04或20.04 Linux上安装MobaXterm
虽然直接在Ubuntu 22.04或20.04上安装MobaXterm是不可能的任务,因为它是专为Windows设计的,但Ubuntu系统提供了丰富的原生工具和替代方案,足以满足远程管理、文件传输等需求。如果你对MobaXterm的特定功能有强烈需求,考虑采用Windows子系统或虚拟机方案作为折衷方案,不失为一种可行之道。在追求高效工作流的同时,不妨也探索和熟悉Linux原生工具,它们往往能提供更为无缝的集成体验。
1571 0