同一个python程序,在不同电脑情况下运行不太一样
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了同一个python程序,在不同电脑情况下运行不太一样相关的知识,希望对你有一定的参考价值。
同一个python文件,用来批量下载json里面的url, 用公司笔记本可以下载完成。用我自己的台式机只能下载一部分图片,然后就卡住不动了,也没有任何报错,卡住的图片序列还是随机的。试过重装python,但还是有一样的问题。 python版本是一样一样的。请问哪位能解答一下这是为啥。。。? 源码如下: import json import requests import os def get_urls_1027(json_file): data = [] with open('./json_files_from/' + json_file, 'rt',encoding='utf-8') as f: for row in f: data.append(json.loads(row)["data"]["img"]["src"]) return data def download_img(json_file): urls = get_urls_1027(json_file) down_filename = json_file.split('_')[1] path = "./json_imgs/" + down_filename os.mkdir(path) for line in urls: img_filename = line.split('/')[-1] with open(path +'/'+ img_filename, 'wb') as f: f.write(requests.get(line).content) print("All Done") json_file = '1_合并后的json文件.json' download_img(json_file)
参考技术A 应该是网络环境不一样,requests.get(line).content这句写得太简略了,无法体现错误
稍详细可以这样写:
resp
=
requests.get(line)
if
resp.status_code
==
200:
f.write(resp.content)
else:
print(resp.reason) 参考技术B 有的,最简单的,时钟程序,两个电脑时间不一样,显示当然不一样,这只是最简单的例子,很多程序需要采集电脑的硬件、软件信息,比如注册软件,会自动生成一个唯一的设备码。 参考技术C 看了表示也没发现那里有问题.
不知道你用的
缩进
是Tab键还是4个空格.
我以前也有程序换不同电脑就有问题,
就是用的
tab键
来缩进,
后面全部换成4个空格就没问题了.
如何在 tkinter GUI 位于同一文件中的情况下运行 python 脚本?您如何处理用户条目?
【中文标题】如何在 tkinter GUI 位于同一文件中的情况下运行 python 脚本?您如何处理用户条目?【英文标题】:How do you run a python script where the tkinter GUI is in the same file? How do you process user entries? 【发布时间】:2021-05-21 00:02:41 【问题描述】:我有一个 python 脚本可以处理 pandas 的内容。我在 tkinter 中创建了一个 GUI,它将用户输入分配给不同的全局变量。我需要将所有内容保存在同一个文件中。这是我正在做的事情的 sn-p:
#Global Variables with default values
Winrate = 0
# Button Functions
def getWinRate():
global Winrate
Winrate = win_rate_entry.get()
messagebox.showinfo('Successful Entry!')
def RunPipelineScript():
print("Do stuff")
start_script_btn = Button(window, text="Start Script", command= RunPipelineScript())
# Rest of the script is below. It uses the values inputted by the user, e.g. WinRate entry, in the #calculations
我本质上是想让它在单击“开始脚本”按钮时执行脚本的其余部分。我不知道该怎么做。我应该将脚本的其余部分粘贴到“RunPipelineScript
”函数中吗?如果是这样,是否会根据用户条目更改全局变量?我是否可以这样,一旦用户输入了适当的条目,RunPipelineScript
函数将跳转到某一行并继续正常执行程序?
如您所见,我是 Python 和 Pandas 的新手,如果您能提供任何帮助,我们将不胜感激 :)
【问题讨论】:
您必须将脚本的其余部分添加到您要在按下按钮时调用的函数中。 【参考方案1】:解决方案很简单。你只需要做一些简单的步骤;那就是你只需要在函数中做一个函数。
让我们来解释一下你的代码。
这里:
这个按钮,点击后会执行RunPipelineScript
函数。
如果您想执行整个脚本,您必须将所有内容都放在RunPipeLine
函数中。
你也已经在函数中声明了一个全局变量。 因此在声明函数后添加:
global Winrate
修改后的代码:
Winrate = 0
def RunPipelineScript():
global Winrate
print("Do stuff")
# Button Functions
def getWinRate():
global Winrate
Winrate = win_rate_entry.get()
messagebox.showinfo('Successful Entry!')
# Add all the code inside this function you want. That will execute the whole script.
start_script_btn = Button(window, text="Start Script", command= RunPipelineScript)
# Rest of the script is below. It uses the values inputted by the user, e.g. WinRate entry, in the #calculations
【讨论】:
您是否注意到您在command=RunPipelineScript()
行重复了错误?它应该是command=RunPipelineScript
。
哎呀。我忘记检查了。好吧,我正在编辑该问题。对不起!感谢您指出。以上是关于同一个python程序,在不同电脑情况下运行不太一样的主要内容,如果未能解决你的问题,请参考以下文章