Python脚本执行的方式
- python script.py # 直接执行脚本
- python -m script # 当做模块的方式执行,相当于 import
区别1:
查找文件的路径不一样
第一种方法——直接运行脚本,当前脚本所在的路径会加入到 sys.path 列表中,但是 sys.modules 字典中的 main 的路径不是绝对路径,只是脚本名称。
第二种方法——当做模块方式运行,当前脚本所在的路径不会加入到 sys.path 列表中,但是 sys.modules 字典中的 main 的路径是绝对路径,
区别2:
一个运行的是脚本,一个是模块当脚本运行
应用场景:
python -m scrapy crawl ‘名称’
先将scrapy 导入模块再运行
出现问题原因:
python 多版本磁盘迁移:又原来 D-》E
再pycharm 中运行爬虫程序
scrapy crawl XXXXX 出现
Fatal error in launcher: Unable to create process using ‘“d:\python\python.exe” “E:\python\Scripts\scrapy.exe” crawl crawl_product_record_jimu’
应用python scrapy crawl XXXXX
程序不运行
应用python -m scrapy crawl XXXXX 程序运行成功