使用imdbpy2sql.py填充PostgreSQL

时间:2013-07-26 02:42:21

标签: python postgresql imdbpy

我正在尝试使用http://imdbpy.sourceforge.net/docs/README.sqldb.txt中记录的imdbpy2sql.py,但我遇到语法错误问题。目录。为简化起见,我将IMDb文件加载到“C:\ Users \ dom \ AppData \ Roaming \ Python \ Scripts”子目录中,例如:“C:\ Users \ dom \ AppData \ Roaming \ Python \ Scripts \ imdb”

然后我执行了:     os.chdir(“C:\ Users \ dom \ AppData \ Roaming \ Python \ Scripts”)

我尝试使用PostgreSQL数据库,其中包含以下命令的变体并获得:

  
    
      

imdbpy2sql.py -d / imdb -u'postgres:// sid:asdf @ host / imdb'

    
  

文件“”,第1行     imdbpy2sql.py -d / imdb -u'postgres:// sid:asdf @ host / imdb'                                                             ^ SyntaxError:语法无效

在最后的努力中,我尝试了M $ SQL服务器并遇到了类似的错误:

>>> imdbpy2sql.py -d /imdb -u mssql://dom:@localhost/imdb

文件“”,第1行     imdbpy2sql.py -d / imdb -u mssql:// dom:@ localhost / imdb                                   ^ SyntaxError:语法无效

语法提示非常感谢!

1 个答案:

答案 0 :(得分:1)

imdbpy2sql.py -d /imdb -u 'postgres://sid:asdf@host/imdb'

命令提示符命令调用,而不是Python代码。您无法从Python命令提示符运行它。

您需要打开cmd.exe(在Windows上)并运行以下内容:

c:
cd \Users\dom\AppData\Roaming\Python\Scripts
python imdbpy2sql.py -d /imdb -u 'postgres://sid:asdf@host/imdb'

如果你想从Python解释器中解决它,你可以使用subprocess.check_callos.system

此外,/imdb上的前导斜杠将导致Python认为您的意思是\imdb,即“此驱动器根目录中名为imdb的目录,所以它会抱怨它找不到c:\imdb。你可能只想说imdb而没有斜线。