【发布时间】:2021-11-18 04:32:49
【问题描述】:
如何使用python sys.argv
我想将结果保留为我想要的文件名。
import pymssql
import csv
import sys
dbname = sys.argv[1]
conn = pymssql.connect(host='rds.amazonaws.com', user='asdf', password='asdf', database= dbname, charset='utf8')
curs = conn.cursor()
sql = "select * from usertable with(nolock);"
f = open('dbname_result.csv', 'w')
wr = csv.writer(f)
curs.execute(sql)
rows = curs.fetchall()
for row in rows:
wr.writerow(row)
conn.commit()
conn.close()
f.close()
结果
python test.py userdb01
-> dbname_result.csv
但我希望的结果...
python test.py userdb01
-> userdb01_result.csv
【问题讨论】:
-
您对
sys.argv的使用很好。如果您有 Python 3.6 或更高版本,则需要使用 f 字符串(格式化字符串)作为文件名:f = open(f'{dbname}_result.csv', 'w')。 -
我仍在使用 Python 2.7.16。但我会试试的。 @sj95126
-
好的,那么你可以这样做:
f = open(dbname + '_result.csv', 'w') -
您找到解决方案了吗?我在下面提供的那个对你有用吗?如果是这样,请标记答案或创建一个答案并标记它以供将来找到您的问题的人使用。