我有一個應用程序,我目前正在爲我們公司工作。它目前是圍繞Python的Cmd模塊構建的,並且爲許多任務提供了tab完成功能。Python Cmd Tab完成問題
但是,由於某些原因,Tab完成功能目前僅適用於大樓中的一臺計算機 - 從其他計算機運行腳本不允許完成製表符。
這裏是有問題的部分代碼:
def populate_jobs_list():
global avail_jobs
avail_jobs = os.walk(rootDir()).next()[1]
print avail_jobs
...
def complete_job(self, text, line, start_index, end_index):
global avail_jobs
populate_jobs_list()
if text:
return [
jobs for jobs in avail_jobs
if jobs.startswith(text)
]
else:
return avail_jobs
def do_job(self, args):
pass
split_args = args.rsplit()
os.environ['JOB'] = args
job_dir = os.path.join(rootDir(), os.getenv('JOB'))
os.environ['JOB_PROPS'] = (job_dir + '\\job_format.opm')
if not os.path.isdir(job_dir):
print 'Job does not exist. Try again.'
return
else:
print('Jobbed into: ' + os.getenv('JOB'))
return
populate_jobs_list()
prompt = outPrompt()
prompt.prompt = '\> '
prompt.cmdloop('Loading...')
我失去的東西在這裏很明顯?只是爲了澄清,在機器A上,標籤完成按預期工作。當它在建築物中的任何其他機器上運行時,它無法完成。
你能詳細解釋一下:「它沒有完成」嗎?有沒有錯誤? – bpgergo
沒有錯誤 - 只是在沒有完成剩餘字符串的情況下添加標籤。 – user3172891