同一个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程序,在不同电脑情况下运行不太一样的主要内容,如果未能解决你的问题,请参考以下文章

Pycharm控制台窗口怎样可以显示不同程序的运行结果

删除电脑上重复备份的图片

如何在不阻塞 Python 应用程序的情况下运行代码块?

教你如何在win10下自动运行python程序脚本

求助:为啥我编的C++程序在自己电脑上能正常运行,但编译后挂在后台linux系统下就总是运行一半后出错,

为啥相同的代码相同的编译器在不同电脑上的运行结果不同?