我包括使用 進口Python文件commands.py命令Python的list.remove()不工作
文件如下:
import datetime
def what_time_is_it():
today = datetime.date.today()
return(str(today))
def list_commands():
all_commands = ('list_commands', 'what time is it')
return(all_commands)
我想主要的腳本列出在commands.py功能,所以我使用dir(commands)
其給出的輸出:
['__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'datetime', 'list_commands', 'what_time_is_it']
我然後噸請使用正則表達式刪除包含'__'的項目,如下所示:
commands_list = dir(commands)
for com in commands_list:
if re.match('__.+__', com):
commands_list.remove(com)
else:
pass
這不起作用。如果我嘗試在沒有for循環或正則表達式的情況下執行此操作,它聲稱該條目(我剛剛從打印(列表)中複製並粘貼的條目不在列表中。
作爲第二個問題,我可以獲得目錄只列出的功能,而不是「日期時間」,以及
無需'regex'我不要想。 'new_lst = [如果'__'不在項目中,則爲lst中的項目]' – roganjosh
我會在這裏使用列表理解。如果不是(i.startswith('__')and i.endswith('__'))]' –