簡體   English   中英

我可以在 cmd 中使用 python 但不能在 python.exe 中使用?

[英]I Can use python in cmd but not in python.exe?

我可以使用 cmd 來運行 python,但我不能直接使用 python.exe。 我已經搭建了 python 環境,但是當我打開一個 python 文件時,程序就崩潰了。

python 版本:
3.10

小路:
C:\users\user\appdata\local\programs\python\pyhon310\python.exe

代碼如下所示

import requests
import json
import pandas as pd


url = requests.get(r'https://shopee.tw/api/v4/search/search_items?by=pop&limit=100&match_id=1778234&newest=0&order=desc&page_type=shop')
data = json.loads(url.text)
items_count = int(data['total_count'])

output = list()

for page in range(0, items_count, 100):


    url = requests.get(f'https://shopee.tw/api/v4/search/search_items?by=pop&limit=100&match_id=1778234&newest={page}&order=desc&page_type=shop')

    data = json.loads(url.text)

    for item in data['items']:
        
        item_name = item['item_basic']['name']

        
        item_price = str(item['item_basic']['price'])[:-5]
        
        item_historical_sold = item['item_basic']['historical_sold']
        
        item_view_count = item['item_basic']['view_count']
        
        print(f'{item_name}:{item_price}:{item_historical_sold}:{item_view_count}')
        # 把資料寫入列表
        output.append([item_name, item_price, item_historical_sold, item_view_count])
df = pd.DataFrame(output, columns=['商品名稱', '價格', '已售出', '瀏覽數'])
df.to_excel('列表JSON版12041301.xlsx', index=False)

input('Enter the any press to exit')

Windows 對於雙擊控制台程序不是很友好。 它將在臨時控制台中運行程序,完成后該控制台將消失。 您已嘗試使用最后的input語句來解決此問題,這是一件好事。 但是,這僅在您的程序運行沒有錯誤時才有效。 當您遇到異常時,該語句將永遠不會執行,並且控制台將在您有機會閱讀錯誤消息之前消失。

所以我建議在input語句之前捕獲可能的異常並打印它們。 我可以看到的一個可能的例外是,當此腳本在您沒有寫入權限的工作目錄中運行時。

試試這個,看看是否有錯誤信息。

import requests
import json
import pandas as pd
import traceback

def main():
    # Your original code, intended 4 spaces
    url = requests.get(r'https://shopee.tw/api/v4/search/search_items?by=pop&limit=100&match_id=1778234&newest=0&order=desc&page_type=shop')
.... etc....
    df.to_excel('列表JSON版12041301.xlsx', index=False)

if __name__ == '__main__':
    try:
        main()
    except Exception as e:
        traceback.print_exc()
    input('Press ENTER key to exit')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM