2020年11月4日 星期三

將python的list轉為讓sql where in可以使用 - sql where operator in python list

Code

'''
System version : Windows 10  64-bit  
Python version : Python 3.6.0 :: Anaconda 4.3.1 (64-bit)   
'''
id_list = ['a','b']
sql_id_list = str(tuple([key for key in id_list])).replace(',)', ')')
query ="""
    SELECT id FROM table WHERE article_id IN {sql_id_list}
""".format(sql_id_list=sql_id_list)
print("sql_id_list:",sql_id_list)
print("query:",query)

id_list = ['a']
sql_id_list = str(tuple([key for key in id_list])).replace(',)', ')')
query ="""
    SELECT id FROM table WHERE article_id IN {sql_id_list}
""".format(sql_id_list=sql_id_list)
print("sql_id_list:",sql_id_list)
print("query:",query)
# cursor.execute(execute_str,values)

Result

sql_id_list: ('a', 'b')
query:
    SELECT id FROM table WHERE article_id IN ('a', 'b')

sql_id_list: ('a')
query:
    SELECT id FROM table WHERE article_id IN ('a')

2020年11月2日 星期一

取得執行py的路徑與工作路徑-Get the path of running file (.py) in Python

Code

'''
System version : Windows 10  64-bit  
Python version : Python 3.6.0 :: Anaconda 4.3.1 (64-bit)   
'''

import os
print('os.getcwd():', os.getcwd())
print('__file__:', __file__)
print('os.path.basename(__file__):', os.path.basename(__file__))
print('os.path.dirname(__file__):', os.path.dirname(__file__))
print('-'*45)

# 存原始的工作目錄
save_raw_path = os.getcwd()
print("存原始的工作目錄")
print("os.getcwd():",os.getcwd())
print('-'*45)

# 變更工作目錄
go_path = r"D:\tmp"
os.chdir(go_path) 
print("變更工作目錄")
print("os.getcwd():",os.getcwd())
print('-'*45)

'''execute your code here'''

# 改回原始的工作目錄
os.chdir(save_raw_path) 
print("改回原始的工作目錄")
print("os.getcwd():",os.getcwd())

Result

os.getcwd(): D:\project\實用程式庫\log紀錄
__file__: d:/project/實用程式庫/log紀錄/tmp.py
os.path.basename(__file__): tmp.py
os.path.dirname(__file__): d:/project/實用程式庫/log紀錄
---------------------------------------------
存原始的工作目錄
os.getcwd(): D:\project\實用程式庫\log紀錄
---------------------------------------------
變更工作目錄
os.getcwd(): D:\tmp
---------------------------------------------
改回原始的工作目錄
os.getcwd(): D:\project\實用程式庫\log紀錄