Как создать кнопку для графического интерфейса Python для загрузки данных в Cassandra через файл .sh, выбрав .csv

#python #bash #shell #csv #ubuntu

#python #bash #оболочка #csv #убунту

Вопрос:

С помощью this .sh я могу загрузить файл .csv в Apache Cassandra с помощью загрузчика DSBulk:

 export PATH=/home/workstation/dsbulk-1.7.0/bin:$PATH

source ~/.bashrc

dsbulk load -url /home/workstation/ll/datatest.csv -k test_keyspace -t test_data  -delim "," -header false 
 

Используя .sh, я создаю графический интерфейс Python для загрузки данных .csv с помощью кнопки. Итак, я реализовал приведенный ниже код. Я могу загружать данные с помощью этой кнопки, но как я могу выбрать файл .csv, который необходимо открыть и загрузить? Я использовал аналогичную функцию по-другому, но не для выбора файла, открытого из .sh.

Это функция кнопки:

 def Dataloader():
   
   subprocess.call('./tester.sh', shell=True)


button = Button(window, text=" Load data into APC ", bg="black", fg="white",command=Dataloader)
 

Какое-то предложение? Где я ошибаюсь?

Спасибо

Комментарии:

1. Я добавил это в файл .sh, чтобы я мог выбрать файл (.csv), но как я могу использовать в команде dsbulk load и т. Д.? file=»$(zenity —title «Выбрать файл» —file-selection)»

2. это дает: Java.io.IOException: Ошибка при создании анализатора CSV для файла: /home/workstation/ll/datatest.csv

Ответ №1:

Решение:

на .sh должно быть написано

 echo "you selected $(zenity --file-selection)"
 

затем для действия потребовался es: dsbulk….