将用户输入的字符串插入Linux命令[python脚本]?

时间:2017-12-03 11:48:07

标签: python linux string command

道歉,如果这个问题很简单,我就是蟒蛇的业余爱好者。

我目前正在尝试自动执行一系列linux命令, 使用python脚本。 (特别是关于使用ciao命令下载和分析钱德拉望远镜数据)

简而言之,我的目标是脚本要求用户输入一个5个字符长的数字字符串,该字符串存储为变量并随后插入到命令中,以便从脚本运行。

E.G以下命令,其中星号将由用户输入的字符串替换。

import os
os.system("download_chandra_obsid *****")
os.chdir("usersc/####/Downloads/*****") 
os.system("dmkeypar acisf*****0N003_full_img2.fits dec echo=yes")

有没有一种简单的方法来实现它?

提前致谢...

2 个答案:

答案 0 :(得分:1)

使用number = input("Please type five digit number").strip()从用户处获取号码。如果要检查它是否是有效数字,请使用以下结构:

while True:
    num = input("Please type five digit number").strip()
    if num.isdigit() and len(num) == 5:
         break

然后对每个字符串使用.format()来添加数字,如下所示:

os.system("download_chandra_obsid {0}".format(num))

(这只适用于python 2.6+,我认为)
有关str.format()

的详细信息,请参阅https://pyformat.info/#simplepython docs

答案 1 :(得分:0)

import os

user_inputted = input('Enter your string')
# Perform validations on the input like length etc.
os.system("download_chandra_obsid {}".format(used_inputted))
os.chdir("usersc/####/Downloads/{}".format(used_inputted))
os.system("dmkeypar acisf{}0N003_full_img2.fits dec echo=yes".format(used_inputted))