Більше

Замініть рядок змінною всередині команди pgsql2shp у Python


Як замінити рядок змінною всередині команди pgsql2shp у Python?

command = "pgsql2shp -f /test.shp -h localhost -u postgres -P postgres gis_exercise " ВИБЕРІТЬ d. широту, d. довготу, d. geom ВІД країни AS c, щодня AS d WHERE ST_CONTAINS (c.geom, d .geom) AND c.iso3 = 'BRA'  ""

Мені потрібно замінити тест (ім'я шейп-файлу) змінним рядком, а також рядок BRA змінним рядком.

Я намагався використовувати +, щоб об'єднати рядки, але це не працює.


Ви можете використовувати метод .format () string:

command = "pgsql2shp -f /{}.shp -h localhost -u postgres -P postgres gis_exercise " ВИБЕРІть d. широту, d. довготу, d. geom ВІД країни AS c, щодня AS d WHERE ST_CONTAINS (c.geom, d.geom) AND c.iso3 = '{}'  "". format (рядок [0], рядок [1])


Перегляньте відео: Step-by-Step Python and Postgres Tutorial with psycopg2 (Вересень 2021).