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

2024-10-03 00:30:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用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

Tags: 文件inpytestformatdatalineload
1条回答
网友
1楼 · 发布于 2024-10-03 00:30:42

如果您是从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')

相关问题 更多 >