ইতিহাসটি ইউনিক্স / ব্যাশ সংস্করণের অনুরূপ পাওয়ার জন্য একটি সাধারণ ফাংশন।
আশা করি এটি কিছু নতুন লোককে সহায়তা করবে।
def ipyhistory(lastn=None):
"""
param: lastn Defaults to None i.e full history. If specified then returns lastn records from history.
Also takes -ve sequence for first n history records.
"""
import readline
assert lastn is None or isinstance(lastn, int), "Only integers are allowed."
hlen = readline.get_current_history_length()
is_neg = lastn is not None and lastn < 0
if not is_neg:
flen = len(str(hlen)) if not lastn else len(str(lastn))
for r in range(1,hlen+1) if not lastn else range(1, hlen+1)[-lastn:]:
print(": ".join([str(r if not lastn else r + lastn - hlen ).rjust(flen), readline.get_history_item(r)]))
else:
flen = len(str(-hlen))
for r in range(1, -lastn + 1):
print(": ".join([str(r).rjust(flen), readline.get_history_item(r)]))
স্নিপেট: পাইথন 3 দিয়ে পরীক্ষিত। পাইথন 2 এর সাথে কোনও গ্লিটস থাকলে তা আমাকে জানান। নমুনা:
সম্পূর্ণ ইতিহাস: ipyhistory()
শেষ 10 ইতিহাস: ipyhistory(10)
প্রথম 10 ইতিহাস: ipyhistory(-10)
আশা করি এটি ফেলাসকে সহায়তা করবে।
historyশেল কমান্ড অন্য কোন মত একটি প্রোগ্রাম। এটিbashকমান্ডের কোনও "বিকল্প" নয় ।