解决Win 10命令行运行.py文件没有任何输出的问题

问题描述

近期,笔者发现,在Windows 10命令行中通过python3 XXX.py的方式运行python脚本时,无法产生任何预期输出。例如,以下一个简单的文件test.py:

# 文件名:test.py
print("Hello!")

在命令行中输入python3 test.py时,并不会打印出

“Hello!”

也没有报错,而是没有任何输出就结束了。

解决方法

运行以下命令即可成功显示需要打印的内容:
不信

python.exe test.py

原因应该是系统变量里确实没有python3.exe的实际可执行文件了(有同名的文件,但已经不能用了,可以试着在命令行输入python3进行测试,应该会打开应用商店),尽管你可能安装了python3.6python3.9之类的。

  • 8
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
很高兴为您解答这个问题!这里是实现该需求的步骤: 步骤1:创建Scrapy项目 在命令行中输入以下命令创建一个名为Stock的Scrapy项目: ``` scrapy startproject Stock ``` 步骤2:创建StockItem类 在Stock/Stock/items.py文件中,添加以下代码: ```python import scrapy class StockItem(scrapy.Item): code = scrapy.Field() name = scrapy.Field() latest_price = scrapy.Field() buy = scrapy.Field() sell = scrapy.Field() pre_close = scrapy.Field() today_open = scrapy.Field() highest = scrapy.Field() lowest = scrapy.Field() volume = scrapy.Field() turnover = scrapy.Field() amplitude = scrapy.Field() turnover_rate = scrapy.Field() pb_ratio = scrapy.Field() pe_ratio = scrapy.Field() total_shares = scrapy.Field() circulation_shares = scrapy.Field() ``` 步骤3:创建爬虫stock.py文件 在Stock/Stock/spiders/目录下创建一个名为stock.py文件,并添加以下代码: ```python import scrapy from Stock.items import StockItem class StockSpider(scrapy.Spider): name = 'stock' allowed_domains = ['vip.stock.finance.sina.com.cn'] start_urls = ['https://vip.stock.finance.sina.com.cn/mkt/#sh_a'] def parse(self, response): for row in response.xpath('//table[@id="dataTable"]/tbody/tr'): item = StockItem() item['code'] = row.xpath('td[1]/a/text()').get() item['name'] = row.xpath('td[2]/a/text()').get() item['latest_price'] = row.xpath('td[3]/text()').get() item['buy'] = row.xpath('td[4]/text()').get() item['sell'] = row.xpath('td[5]/text()').get() item['pre_close'] = row.xpath('td[6]/text()').get() item['today_open'] = row.xpath('td[7]/text()').get() item['highest'] = row.xpath('td[8]/text()').get() item['lowest'] = row.xpath('td[9]/text()').get() item['volume'] = row.xpath('td[10]/text()').get() item['turnover'] = row.xpath('td[11]/text()').get() item['amplitude'] = row.xpath('td[12]/text()').get() item['turnover_rate'] = row.xpath('td[13]/text()').get() item['pb_ratio'] = row.xpath('td[14]/text()').get() item['pe_ratio'] = row.xpath('td[15]/text()').get() item['total_shares'] = row.xpath('td[16]/text()').get() item['circulation_shares'] = row.xpath('td[17]/text()').get() yield item ``` 步骤4:添加Selenium中间件 在Stock/Stock/middleware.py文件中,添加以下代码: ```python from selenium import webdriver from scrapy.http import HtmlResponse from selenium.webdriver.chrome.options import Options class StockDownloaderMiddleware(object): def __init__(self): chrome_options = Options() chrome_options.add_argument('--headless') chrome_options.add_argument('--disable-gpu') self.browser = webdriver.Chrome(chrome_options=chrome_options) def process_request(self, request, spider): self.browser.get(request.url) body = self.browser.page_source return HtmlResponse(self.browser.current_url, body=body, encoding='utf-8', request=request) def __del__(self): self.browser.close() ``` 步骤5:添加管道和下载器 在Stock/Stock/settings.py文件中,添加以下代码: ```python ITEM_PIPELINES = { 'Stock.pipelines.StockPipeline': 300, } DOWNLOADER_MIDDLEWARES = { 'Stock.middlewares.StockDownloaderMiddleware': 543, } ``` 步骤6:添加默认请求头 在Stock/Stock/settings.py文件中,添加以下代码: ```python USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3' ``` 步骤7:运行爬虫并输出结果 在命令行中输入以下命令运行爬虫并输出结果: ``` scrapy crawl stock -o stock.csv ``` 这样,就完成了对新浪财经上海A股股票信息的爬取并将结果保存到csv文件中。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值