Python 读取pg_转储文件发生在打开文件时

Python 读取pg_转储文件发生在打开文件时,python,dump,Python,Dump,我正在使用lib。不幸的是,当我试图打开文件时,出现了一个错误。该文件与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 Versi

我正在使用lib。不幸的是,当我试图打开文件时,出现了一个错误。该文件与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
错误:

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
回溯(最近一次呼叫最后一次):
文件“C:/Users/user/data/test.py”,第3行,在
dump=pgdumplib.load('test.dump')
文件“C:\Users\user\venv\data\lib\site packages\pgdumplib\\uuuu init\uuuu.py”,第24行,已加载
返回dump.dump(converter=converter).load(filepath)
文件“C:\Users\user\venv\data\lib\site packages\pgdumplib\dump.py”,第228行,已加载
raise VALUERROR('路径{!r}不存在'。格式(路径))
ValueError:路径“test.dump”不存在

如果您是从
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
移动到执行代码的目录。或者,提供测试的绝对路径。转储,如下所示:

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

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