如何在传统Python交互式Shell中批量执行多行脚本?
在Python Shell中一次性执行多段代码的方法
方法1:使用exec()函数包裹代码
先导入代码依赖的模块(比如你的示例里用到了csv),再把整段代码用三引号字符串包裹后传入exec()函数,就能一次性执行:
import csv exec(""" fields = ['id', "name"] rows = article_list filename = "articles_with_highlighted_text_v2.csv" with open(filename, 'w', newline='') as csvfile: csvwriter = csv.writer(csvfile) csvwriter.writerow(fields) csvwriter.writerows(rows) """)
直接将这段内容整段粘贴到Python Shell中回车即可执行。如果代码本身包含单引号,就改用三双引号包裹字符串,避免语法冲突。
方法2:通过本地脚本文件执行
如果服务器允许创建文件,可以按以下步骤操作:
- 退出Python Shell,执行
vim export_articles.py创建脚本文件 - 在vim中粘贴代码(记得加上
import csv),保存后退出 - 重新进入Django Shell(
python manage.py shell),执行:
exec(open('export_articles.py').read())
即可一次性运行整个脚本的内容。
方法3:利用Django的shell_plus(如果可用)
若服务器已安装django-extensions,直接运行python manage.py shell_plus进入IPython环境,此时可以直接粘贴整段代码回车执行——IPython原生支持多行代码的直接粘贴运行,无需额外处理。
内容的提问来源于stack exchange,提问作者Ilgar
相关产品推荐
相关产品推荐

