如何将python脚本放在路径上?

时间:2015-12-18 02:09:57

标签: python python-3.x path

我知道之前已经问过这个问题。我已经完成了所有的建议,但我仍然遇到了问题。

我有一个脚本file_rename_script.py,我已经制作了可执行文件,并且我已经远离了路径,以确保它按预期工作,一切都很顺利。但是,当我将该脚本移动到我的路径时,我得到以下内容:

/Users/Nick/bin/file_rename_script.py: line 1: import: command not found
from: can't read /var/mail/datetime
/Users/Nick/bin/file_rename_script.py: line 4: syntax error near unexpected token `('
/Users/Nick/bin/file_rename_script.py: line 4: `current_directory = os.listdir(os.getcwd())'

这是文件的样子:

#!/usr/bin/env python3

import os, time
from datetime import datetime

current_directory = os.listdir(os.getcwd())
files = [f for f in os.listdir(os.getcwd()) if os.path.isfile(f)]

for file in files:
    file_name, file_extension = os.path.splitext(file)
    create_date = datetime.fromtimestamp(os.path.getctime(file)).strftime('%Y_%m_%d')
    prompt_user = "What would you like to name " + file + " to? "
    user_response = input(prompt_user)
    if user_response:
        os.rename(file, create_date + "-" + user_response.replace(" ", "_") + file_extension)
        print("Renamed your file to", create_date + "-" + user_response.replace(" ", "_") + file_extension)
        print()
    else:
        print(file, "was not changed")
        print()

为什么我的路径上无法运行?另请注意,我已将shebang设置为#!/usr/local/bin/python3,但没有成功。

理想情况下,我希望将此文件保存在其他位置,并且我希望将其作为路径中的别名进行符号链接。

是什么给出了?

2 个答案:

答案 0 :(得分:2)

错误表明she-bang不工作,shell试图直接将你的python代码(/Users/Nick/bin/file_rename_script.py)作为shell脚本运行,而不是使用python解释器...... / p>

  1. 首先验证如果运行/usr/bin/env python3,您会收到Python提示。如果没有,请尝试通过运行which python3

  2. 来查找python3
  3. 其次,仔细检查she-bang行#!之前是否没有空格或空行。如果要在Windows上创建文件,请保存不带BOM的文件(这是文件开头的不可见字符)。行必须以换行符(\n)结束。您可以运行headod从文件的第一行打印字节(字符):

    head -1 /Users/Nick/bin/file_rename_script.py | od -cx

  4. 应打印(第一个字符为#,最后一个字符为\n):

    0000000   #   !   /   u   s   r   /   b   i   n   /   e   n   v       p
               2123    752f    7273    622f    6e69    652f    766e    7020
    0000020   y   t   h   o   n   3  \n
               7479    6f68    336e    000a
    0000027
    

答案 1 :(得分:0)

如果使用windows或linux,则应将python exe位置添加到环境路径。

对于寡妇和Linux 将python exexutable路径变量添加到路径

如果您使用虚拟环境,请首先激活虚拟环境。添加虚拟环境python包路径。如

!#env python 必须将脚本添加到env的上层目录中 如果使用虚拟环境,必须运行env调用env / Scripts / activate 目录结构应该是
应用
- 环境
- yourscript.py
通过pip安装虚拟环境。