最新公告
  • 欢迎您光临欧资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • 如何在终端里执行py脚本文件?啰嗦是怎么回事?

    标题有点啰嗦,其实这里涉及到两个问题,一是如何在终端执行py脚本文件;二、如果python文件中有中文注释或者中文输出,脚本可以正确执行(很多时候明明代码程序没问题,就因为里面有中文,输出不能正常执行,比如如乱码,如异常,之前在深度学习应用的研究中遇到过)。而这两个其实牵扯到一个问题linux搜索关键字开头的行,就是python脚本第一行#号的问题。

    我们一般在 Ubuntu 等 Linux 操作系统中执行 .py 脚本文件时,经常需要在终端中的文件前面加上 python。比如我们要执行jizhike.py文件,往往需要在终端中执行:python jizhike.py –XX XX后面的XX就是参数和参数值。而如果我们执行一个像./jizhike.py bare这样的python文件,会报错提示,权限不够;并且添加 sudo 只是没有这个命令。那么是否可以不用python的麻烦直接执行py脚本呢?这涉及到python程序文件前几行代码中的#号!号码问题。

    也就是说,你需要在第一行(这是你系统中的目录)写#!/usr/bin/python3linux搜索关键字开头的行,以避免没有python XX.py的错误。这句话的作用是告诉Linux系统这是一个python脚本,需要调用/usr/bin/python3来解释。而这个问题往往只出现在Linux操作系统中(没有系统$PATH),如果你在Windows操作系统下,或者系统$PATH下,加不加井号是没有效果的,而且系统会自动忽略它。

    当然,推而广之,在 Ubuntu 等 Linux 操作系统中,这可以解决很多其他类似的问题,比如 PHP 等其他脚本语言,还有#! 相应的格式规定。机智的意思是如果在系统中终端执行一个文件,需要在系统文件中安装相应的解释工具,否则需要单独指定。即在Ubuntu等Linux系统中,usr/bin/目录提供了一个shell,为用户提供了一个命令解释器。当一个命令被接受时,相应的应用程序被调用来解释它。在 Linux 中,#! 代码文件中的字符组合意味着应该执行shell脚本。

    同时代码前面的井号小知识点也可以解答为什么脚本包含中文会报错。这实际上是一个编码问题。这不仅涉及中文输出,还涉及注释——即使你在代码中注释掉中文,也需要在第二行添加# -*- coding: UTF-8 -*- 来解决编码问题。能。其实这段代码就是告诉Python解释器按照UTF-8编码读取源代码,否则容易乱码或者出错。当然,这还是需要我们注意的。如果脚本代码中包含中文,那么记得保存为UTF-8编码,否则……你知道后果。

    站内大部分资源收集于网络,若侵犯了您的合法权益,请联系我们删除!
    欧资源网 » 如何在终端里执行py脚本文件?啰嗦是怎么回事?

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    欧资源网
    一个高级程序员模板开发平台

    发表评论