将json数据转换为.txt文件的快速方法-python 2.7

将json数据转换为.txt文件的快速方法-python 2.7,python,json,performance,python-2.7,Python,Json,Performance,Python 2.7,因此,我将JSON数据从url转换为字符串,然后将其写入文本文件。这是我当前的Python脚本(我使用的是Python 2.7.6): 输出如下(我在Windows命令提示符下运行它,而不是在Python提示符下运行): 我的问题是,有没有更快的方法?例如,使用不同的python脚本或其他脚本语言,或使用C语言 编辑1:更新代码并输出到我正在运行的当前脚本。您已经从txt加载了json。为什么不跳过它,直接将响应txt写入文件 您的示例可以跳过json加载/转储,基本上可以重新编写为: txt

因此,我将JSON数据从url转换为字符串,然后将其写入文本文件。这是我当前的Python脚本(我使用的是Python 2.7.6):

输出如下(我在Windows命令提示符下运行它,而不是在Python提示符下运行):

我的问题是,有没有更快的方法?例如,使用不同的python脚本或其他脚本语言,或使用C语言


编辑1:更新代码并输出到我正在运行的当前脚本。

您已经从txt加载了json。为什么不跳过它,直接将响应txt写入文件

您的示例可以跳过json加载/转储,基本上可以重新编写为:

txt = urllib.urlopen(url).read()
with open('data.txt', 'w') as f:
    f.write(txt)

一些风格提示:

  • 使用上下文管理器(“with”语句)写入文件
  • 有关定时代码块,请查看模块
  • 跟着。你的驼色名字伤了我的眼睛:)

您已经从txt加载了json。为什么不跳过它,直接将响应txt写入文件

您的示例可以跳过json加载/转储,基本上可以重新编写为:

txt = urllib.urlopen(url).read()
with open('data.txt', 'w') as f:
    f.write(txt)

一些风格提示:

  • 使用上下文管理器(“with”语句)写入文件
  • 有关定时代码块,请查看模块
  • 跟着。你的驼色名字伤了我的眼睛:)

您已经从txt加载了json。为什么不跳过它,直接将响应txt写入文件

您的示例可以跳过json加载/转储,基本上可以重新编写为:

txt = urllib.urlopen(url).read()
with open('data.txt', 'w') as f:
    f.write(txt)

一些风格提示:

  • 使用上下文管理器(“with”语句)写入文件
  • 有关定时代码块,请查看模块
  • 跟着。你的驼色名字伤了我的眼睛:)

您已经从txt加载了json。为什么不跳过它,直接将响应txt写入文件

您的示例可以跳过json加载/转储,基本上可以重新编写为:

txt = urllib.urlopen(url).read()
with open('data.txt', 'w') as f:
    f.write(txt)

一些风格提示:

  • 使用上下文管理器(“with”语句)写入文件
  • 有关定时代码块,请查看模块
  • 跟着。你的驼色名字伤了我的眼睛:)

由于大部分时间都花在等待外部服务器响应上,因此您可能无法通过更改代码获得任何好处。根据此代码的使用方式,您可以通过以下方式改善总体体验:

  • 如果可能再次请求相同的文件而没有任何更改,请在本地缓存它们
  • 如果文件在另一台服务器上可用,请查找离您较近的镜像
  • 如果文件的大小是可预测的,那么您可以使用另一个进程以一定的间隔在本地复制它们

由于大部分时间都花在等待外部服务器响应上,因此您可能无法通过更改代码获得任何好处。根据此代码的使用方式,您可以通过以下方式改善总体体验:

  • 如果可能再次请求相同的文件而没有任何更改,请在本地缓存它们
  • 如果文件在另一台服务器上可用,请查找离您较近的镜像
  • 如果文件的大小是可预测的,那么您可以使用另一个进程以一定的间隔在本地复制它们

由于大部分时间都花在等待外部服务器响应上,因此您可能无法通过更改代码获得任何好处。根据此代码的使用方式,您可以通过以下方式改善总体体验:

  • 如果可能再次请求相同的文件而没有任何更改,请在本地缓存它们
  • 如果文件在另一台服务器上可用,请查找离您较近的镜像
  • 如果文件的大小是可预测的,那么您可以使用另一个进程以一定的间隔在本地复制它们

由于大部分时间都花在等待外部服务器响应上,因此您可能无法通过更改代码获得任何好处。根据此代码的使用方式,您可以通过以下方式改善总体体验:

  • 如果可能再次请求相同的文件而没有任何更改,请在本地缓存它们
  • 如果文件在另一台服务器上可用,请查找离您较近的镜像
  • 如果文件的大小是可预测的,那么您可以使用另一个进程以一定的间隔在本地复制它们

您是否考虑过放弃
json.loads()
json.dumps()
而只将
jsonURL.read()
写入文件?添加更多延时语句如何?如果将一个放在URL调用之后,另一个放在len()之后,可以看到时间花在了哪里。结果可能是全部时间都花在了等待外部URL上。@Andrewerlich URL打开需要4.864秒,writeFile需要0.005秒。有没有什么方法可以在不改变任何与互联网连接相关的内容的情况下加快速度?请尝试
time curlhttp://someurl... > data.txt
从shell提示符。如果这需要同样的时间,那么问题就出在你的网络上,代码更改也无济于事。该命令还将显示一个进度表,其中包括平均数据传输速率等内容,您可以将其与LAN的理论容量进行比较。(如果打印“
curl:command not found
”或者类似的,从这里开始:如果你一直滚动到下载页面的底部,Windows二进制文件是可用的;我会先尝试MSVC构建(最不可能需要你安装更多的东西来让它们工作。)你考虑过放弃
json.loads()
json.dumps()
然后将
jsonURL.read()
写入文件中?再加入更多的elapsedTime语句怎么样?如果将一个放在URL调用之后,另一个放在len()之后,可以看到时间花在了哪里。结果可能是全部时间都花在了等待外部URL上。@AndrewEhrlich URL open take