我制作了一些python脚本,但是有更简单的方法来运行它们吗?我正在使用cygwin。
python "C:\Users\Desk\Dropbox\scripts\wsort.py" > data11414_unsorted.txt < data11414_sorted.txt
我想要这样的东西(不输入路径名或“python”):
wsort > data11414_unsorted.txt < data11414_sorted.txt
其中wsort
是指向我的真实wsort.py
答案 0 :(得分:1)
答案 1 :(得分:1)
首先,您的问题有一个Windows风格的路径(反斜杠,以C:
开头),而不是Cygwin路径(/cygdrive/c/Users/Desk/Dropbox/scripts/wsort.py
)。这意味着你实际上并没有使用Cygwin,或者如果你是,你忽略了一堆警告。
下面假设你正在使用Cygwin Bash(如果你从开始菜单启动Cygwin终端,那应该是你得到的)和Cygwin Python(你使用Cygwin的setup.exe而不是Windows Python安装的)安装程序)。如果不是,那么你自己的生活将比你需要的更加困难。
顺便说一下,你需要采取一系列步骤:
首先,使脚本可执行。从Cygwin Bash shell中使用chmod
命令:
chmod +x /cygdrive/c/Users/Desk/Dropbox/scripts/wsort.py
其次,告诉系统 如何执行它。将以下行添加到脚本的顶部:
#!/bin/python
(这是一个“shebang”.Python将其视为注释,因此不会对它做任何事情,但Cygwin和其他类似Linux的系统将使用该行来查看运行该脚本的程序。 case,Python。)
第三,确保你的行结尾是正确的。 Cygwin期望Linux行结束,没有它们就会失败。这可能不是问题,但这样做没有坏处。运行以下命令:
dos2unix /cygdrive/c/Users/Desk/Dropbox/scripts/wsort.py
此时,您可以通过在Cygwin中指定脚本的完整路径来调用脚本。如果没有明确指定脚本的位置,您就无法运行它。
第四步是确保脚本“在您的路径中”,即在Cygwin查找要运行的脚本的其中一个文件夹中。有很多方法可以做到这一点,但最明智的可能就是将脚本目录添加到路径中。每当您启动新的Cygwin会话时,以下命令都会将脚本目录添加到路径中:
echo 'PATH="/cygdrive/c/Users/Desk/Dropbox/scripts:$PATH"' >>~/.bashrc
然而,您需要重新启动Cygwin终端才能生效。
此时,您只需键入wsort.py
即可在Cygwin中运行该脚本(因此可以在问题中使用重定向等等。)
最后,为了能够简单地将其称为wsort
,有许多选项。显而易见的是重命名文件。更有用(并且无需复制文件或做任何可能与Dropbox同步的事情),尝试创建别名:
echo 'alias wsort=wsort.py' >>~/.bashrc
同样,您需要重新启动Cygwin终端才能生效。
答案 2 :(得分:0)
也许使用别名?
alias wsort = "Command_Used"