【问题标题】:reading pg_dump file occurs at open the file读取 pg_dump 文件发生在打开文件时
【发布时间】:2021-02-11 03:49:35
【问题描述】:

我正在使用 pgdumplib 库。不幸的是,当我尝试打开文件时出现错误。该文件与 python 脚本位于同一文件夹中。我正在使用 Python 3.7

代码:

import pgdumplib

dump = pgdumplib.load('test.dump')

print('Database: {}'.format(dump.toc.dbname))
print('Archive Timestamp: {}'.format(dump.toc.timestamp))
print('Server Version: {}'.format(dump.toc.server_version))
print('Dump Version: {}'.format(dump.toc.dump_version))

for line in dump.table_data('public', 'pgbench_accounts'):
    print(line)

错误:

Traceback (most recent call last):
  File "C:/Users/user/data/test.py", line 3, in <module>
    dump = pgdumplib.load('test.dump')
  File "C:\Users\user\venv\data\lib\site-packages\pgdumplib\__init__.py", line 24, in load
    return dump.Dump(converter=converter).load(filepath)
  File "C:\Users\user\venv\data\lib\site-packages\pgdumplib\dump.py", line 228, in load
    raise ValueError('Path {!r} does not exist'.format(path))
ValueError: Path 'test.dump' does not exist

【问题讨论】:

  • 尝试使用文件的完整路径!

标签: python dump


【解决方案1】:

如果您从 C:/Users/user/700Joach/project/ 运行代码并且您的脚本中有以下行:

dump = pgdumplib.load('test.dump')

然后,python会寻找以下路径打开test.dump

C:/Users/user/700Joach/project/test.dump

即,这部分:load('test.dump') 内部正在伪造到test.dump 的相对路径。

您可以做几件事来解决这个问题。将test.dump 移动到执行代码的目录。或者,提供您的test.dump 的绝对路径,如下所示:

dump = pgdumplib.load('C:/Users/user/700Joach/project/test.dump')

【讨论】:

    猜你喜欢
    • 2021-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-05
    • 1970-01-01
    • 1970-01-01
    • 2011-11-19
    相关资源
    最近更新 更多