[英]How can I combine similar functionality python scripts by calling variable?
我有 2 個具有類似功能的短 python 腳本。 唯一的區別是 release_codes:transfer_date; 調用了一個。 另一種是在發布表語句中的release_id。
如何將腳本合二為一,並在需要時調用一個變量。 比如說,如果我選擇 release_id,那么腳本將只通過調用 release_id 來運行。 反之亦然,如果我選擇 release_codes:transfer_date
以下是簡短的腳本: (release_codes:transfer_date)
cur = con.cursor()
try:
#release table statement
cur.execute("select release_id,release_codes:transfer_date from food.fruit.apple where release_codes:transfer_date between '2020-11-01' and '2020-11-30'")
release_rec=cur.fetchall()
for row in release_rec:
query=f"select count (*) from food.veggie.celery and release_id={row[0]}"
print("query:", query)
cur.execute(query)
one_row = cur.fetchone()
print(one_row)
finally:
cur.close()
cur.close()
灣。 (release_id)
cur = con.cursor()
try:
#release table statement
cur.execute("select release_id, release_codes:transfer_date from food.fruit.apple order by release_id")
release_rec=cur.fetchall()
for row in release_rec:
query=f"select count (*) from food.veggie.celery and release_id={row[0]}"
print("query:", query)
cur.execute(query)
one_row = cur.fetchone()
print(one_row)
finally:
cur.close()
cur.close()
使用通用代碼創建一個方法,然后使用每個代碼的特定值調用
也不要使用字符串格式將值傳遞給查詢,使用占位符並讓 SQL 引擎處理它( ?s
用於 mysql ),請參閱如何在 SQL 語句中使用變量?
def method(initial_query):
cur = con.cursor()
try:
cur.execute(initial_query)
release_rec = cur.fetchall()
for row in release_rec:
query = "select count (*) from food.veggie.celery and release_id=%s"
cur.execute(query, (row[0],))
...
method("select release_id,release_codes:transfer_date from food.fruit.apple where release_codes:transfer_date between '2020-11-01' and '2020-11-30'")
method("select release_id, release_codes:transfer_date from food.fruit.apple order by release_id")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.