读取 pg_dump 文件发生在打开文件时
reading pg_dump file occurs at open the file
我正在使用 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
如果您是 运行 来自 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')
我正在使用 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
如果您是 运行 来自 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')