如何为python代码文件创建自己的linux命令

时间:2017-04-11 10:20:02

标签: python linux python-2.7 python-3.x

我是python的新手。作为我项目的一部分,我正在尝试为python文件创建一个linux命令。例如,我有一个python文件example.py,

with open('file.txt','r') as f:
    for i in f:
        print i
with open('file.txt','r') as f:     #for different reasons I am opening file again
    for i in f:
        print i

我在这里尝试制作像$example --print file.txt这样的命令。 这意味着我从命令本身提供输入文件。然后它必须打印输入文件的内容。 请帮我解决这个问题。 提前谢谢。

2 个答案:

答案 0 :(得分:2)

您需要将解释器添加到脚本的头部,并使用sys.env来访问输入参数:

#!/usr/bin/python

import sys, os;

# check so we have enough arguments
if len(sys.argv) < 2:
  printf "You need to supply at least two arguments."
  exit(-1)

# check so the file exists
if os.path.exists(sys.argv[1]):
  # try to open the filename supplied in the second argument
  # the sys.argv[0] always points to the name of the script
  with open(sys.argv[1], 'r') as f:
    for i in f:
      print i
else:
  print 'The file %s does not exists' %(sys.argv[1])

请注意,您可能需要将/usr/bin/python更改为安装python二进制文件的路径。您可以通过发出以下命令找到它的位置:

whereis python

现在您应该可以像这样运行命令:

./command file.txt

您需要做的最后一件事是确保脚本是可执行的:

chmod +x command

答案 1 :(得分:0)

您需要以下内容:

  1. 您的脚本的开头应该有#!/usr/bin/env python
  2. sys.argv是包含命令行参数的列表