python - mysql 运行 imdbpy2sql.py 后丢失音轨信息

标签 python mysql python-2.7 imdb imdbpy

我正在引用这个 stackoverflow 答案。

https://stackoverflow.com/a/20948609/4891914

我无法对此发表评论,因为我的声誉不超过 50。我使用了确切的代码,但收到此错误:

Traceback (most recent call last):
  File "search.py, line 47, in <module>
    print inglorious['soundtrack']
  File "/usr/local/lib/python2.7/dist-packages/imdb/utils.py", line 1469, in __getitem__
    rawData = self.data[key]
KeyError: 'soundtrack'

我也尝试过这个变体:

from imdb import IMDb
ia = IMDb('sql', uri='mysql://username:password@localhost/imdb')
inglorious = ia.search_movie('Inglorious Basterds')[0]
ia.update(inglorious, info=['soundtrack'])
soundtrack = inglorious.get('soundtrack')
print soundtrack

它打印“无”。当运行 imdbpy2sql.py 时,文件 soundtracks.list.gz 确实存在于所有其他 imdb 文件所在的目录中。我确实在 imdb.com 上验证了该电影确实存在原声带。

http://www.imdb.com/title/tt0361748/soundtrack?ref_=tt_trv_snd

任何帮助将不胜感激。

更新 MySQL 对 info_type 和 movie_info 表的查询;

SELECT * FROM info_type WHERE info='alternate versions' OR info='goofs' OR info='crazy credits' OR info='soundtrack' OR info='quotes' OR info='trivia';

  id | info
  -----------------------
  11 | alternate versions
  12 | crazy credits
  13 | goofs
  15 | quotes
  14 | soundtrack
  17 | trivia

SELECT COUNT(*) FROM movie_info WHERE info_type_id=11;
  COUNT(*)
  19716
SELECT COUNT(*) FROM movie_info WHERE info_type_id=12;
  COUNT(*)
  21158
SELECT COUNT(*) FROM movie_info WHERE info_type_id=13;
  COUNT(*)
  222002
SELECT COUNT(*) FROM movie_info WHERE info_type_id=14;
  COUNT(*)
  0
SELECT COUNT(*) FROM movie_info WHERE info_type_id=15;
  COUNT(*)
  693707
SELECT COUNT(*) FROM movie_info WHERE info_type_id=17;
  COUNT(*)
  531702

所以问题可能出在 imdbpy2sql.py 脚本上。如前所述,我们将非常感谢任何调试此问题的帮助。

最佳答案

了解正在发生的情况的最佳选择是存储命令的输出,添加 2>&1 |在命令行末尾(在 Linux 系统上)添加 imdbpy2sql-output.log

为了加快速度,您可以将音轨文件保留在目录中。

关于python - mysql 运行 imdbpy2sql.py 后丢失音轨信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31028657/

相关文章:

python - 我怎样才能让 Django 返回 JsonResponse 而没有额外的引号或引号转义?

python - 如何使用带有两个字段之和的 where 子句

mysql - 将记录表与映射表按负关系连接起来

带连接的 Mysql 删除语句

python - 如何使 macports python 使用自己的软件包而不是其他安装的软件包?

python - 返回前打印值

python - 将更新从 Python 服务器推送到 Web 界面

java - Hibernate:仅从一张表中选择所有内容,而不是从 3 个连接表中选择所有内容

python - 这行 Python 代码的作用是什么?

python-2.7 - ipywidgets:如何在两列中组织 slider