Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我想将我的文本抓取程序部署到Heroku,但它使用的文件存储在我的电脑上_Python_Django_Heroku - Fatal编程技术网

Python 我想将我的文本抓取程序部署到Heroku,但它使用的文件存储在我的电脑上

Python 我想将我的文本抓取程序部署到Heroku,但它使用的文件存储在我的电脑上,python,django,heroku,Python,Django,Heroku,我创建了一个文本抓取程序,用户在其中输入一个单词,它在我的计算机上搜索一个大的文本文件(250MG,并且还在增长),但现在我想通过Heroku部署它 是否有我需要实施的变通方法,或者是否有(相当难以捉摸的)方法来实现这一点?据我所知,没有办法将我的文本文件按原样上传到Heroku。以下是我的建议 只要文本文件不包含任何机密信息,就可以像这样在网站上托管文本文件。这允许您在每次添加应用程序时自由更新应用程序,而无需重新部署应用程序 一旦您上传/粘贴文本到“粘贴”并保存,您将能够获得“原始”链接,该

我创建了一个文本抓取程序,用户在其中输入一个单词,它在我的计算机上搜索一个大的文本文件(250MG,并且还在增长),但现在我想通过Heroku部署它

是否有我需要实施的变通方法,或者是否有(相当难以捉摸的)方法来实现这一点?据我所知,没有办法将我的文本文件按原样上传到Heroku。

以下是我的建议

  • 只要文本文件不包含任何机密信息,就可以像这样在网站上托管文本文件。这允许您在每次添加应用程序时自由更新应用程序,而无需重新部署应用程序
  • 一旦您上传/粘贴文本到“粘贴”并保存,您将能够获得“原始”链接,该链接将在请求时返回文件内容
  • 使用
    requests
    从应用程序中获取文件,并根据需要对其进行解析

    import requests
    resp = requests.get("https://pastebin.com/raw/LjcPg3UL")
    # if all entries are on individual lines
    mywords = [word for word in resp.iter_lines()]
    # if comma-separated or otherwise
    #mywords = resp.text.split(",")
    
  • 现在,您的应用程序中有了列表中的所有内容

    编辑:
    由于您希望通过更大的文件来实现这一点,因此可以将文件托管在dropbox上,并按照中的说明获取原始链接。但是,如果处理这么大的文件,您会注意到大量开销。如果文件有那么大,我建议使用
    请求
    参数(),这样请求行就变大了

    resp = requests.get("https://www.dropbox.com/s/FILE_ID/filename.extension?raw=1", stream=True)
    

    这将读取文件的块,而不是一次读取整个文件,这将有助于减少内存消耗。

    Pastebin对每个文件的限制为500 KB,如果我使用pro帐户,则限制为10 MB。我正在搜索的文件可能会增长到1 GB。你知道我还可以利用其他资源来完成这项任务吗?