Не удается записать файл в Google Cloud

В настоящее время у меня есть база данных SQL, которую я хочу редактировать локально. Это для фляжного приложения, созданного на python 3 с использованием sqlite3.

 con = sqlite3.connect('Database/accounts.db')
 cur = con.cursor()
 cur.execute(f"INSERT INTO Requests (Type, Argument, Priority, Time) VALUES ('{a}','{b}',{c},'{d}')")
 con.commit()

За исключением того, что я продолжаю получать сообщение об ошибке: attempt to write a readonly database

Я очень новичок в этом, и я просто не могу найти ответ в Интернете

Yen 01.04.2023 04:43

Вы отметили google-cloud-platform. На какой службе работает ваш код? Какое полное имя пути? Находится ли файл accounts.db в файловой системе, доступной только для чтения? Какая операционная система и версия? Отредактируйте свой вопрос с более подробной информацией. Вы упускаете информацию, необходимую для решения вашей проблемы.

John Hanley 01.04.2023 08:17

Как мне получить эту информацию?

Yen 01.04.2023 13:54
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
3
51
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ошибка говорит: «база данных только для чтения». Поэтому кажется, что у вас нет прав на запись в этот файл. Чтобы исправить эту ошибку, вы можете попробовать следующее:

  1. Проверьте права доступа к файлу: убедитесь, что в файл разрешена запись. разрешение для пользователя, который запускает программу. Вы можете проверить права доступа к файлу с помощью команды ls -l в терминале или командная строка.
  2. Измените права доступа к файлу: если файл не имеет права записи разрешение, вы можете изменить права доступа к файлу с помощью chmod команду в терминале или командной строке. Например, вы можете использовать chmod +w <filename> чтобы добавить разрешение на запись в файл.
  3. Проверьте путь к файлу: убедитесь, что путь к файлу, который вы используете, правильный и что файл существует в указанном месте.
  4. Проверьте, открыт ли файл: Если файл открыт в другом приложение или процесс, он может быть заблокирован и не разрешать запись. Делать убедитесь, что файл не открыт ни в каком другом приложении или процессе перед попыткой написать в него.
  5. Попробуйте использовать другой файл: если ни одно из приведенных выше решений не работает, вы можно попробовать использовать другой файл базы данных SQLite или создать новый файл с разрешением на запись и использовать его вместо этого.

Но это не линукс.

Yen 01.04.2023 05:45

Я нашел терминал разработчика, но файлы, к которым мне нужно получить доступ, находятся в ведре, как мне добраться до него?

Yen 01.04.2023 05:58

Какой инструмент командной строки вы используете? Если вы используете что-то вроде gsutil, вы можете получить доступ к корзине, используя gsutil ls gs://BUCKET_NAME. Пожалуйста, выполните поиск в Google.

Kabilesh 01.04.2023 06:28

Теперь, как я могу перейти от этого к изменению разрешений на запись

Yen 01.04.2023 06:34
Ответ принят как подходящий

Я нашел ответ, потому что облачные приложения Google, использующие Flask, вынуждены быть базой данных только для чтения. Вы вынуждены создавать файлы на чем угодно, кроме места, где эти файлы хранятся. Например, облачный SQL или облачное хранилище.

Этот ответ неверен.

John Hanley 05.04.2023 13:02

Нет? Тогда, пожалуйста, объясните, почему.

Yen 06.04.2023 12:26

«Вынужден быть доступным только для чтения…» — это неправильно.

John Hanley 06.04.2023 20:54

Другие вопросы по теме