Python Permisson Error?

Moin Freunde,

ich habe heute angefangen, mich mit Python zu beschäftigen. Nun wollte ich eine Datei schreiben, die eine Datei verschlüsselt oder entschlüsselt. Ich habe dafür folgende Zeilen Code geschrieben:

import os

W = '\033[0m'
R = '\033[31m'
G = '\033[32m'
O = '\033[33m'
B = '\033[34m'
P = '\033[35m'

def cls(): os.system('cls')
def defaultColor(): os.system('color ' + '0A')
def wait(): os.system('pause')
def hide(filename): os.system('attrib +h ' + filename)

def excp():
  print(R + "Es ist ein Fehler aufgetreten!" + W)
  wait()

def encryptData():
  print("")
  print(O + "Hinweis: Datei muss sich im gleichen Verzeichnis befinden!" + G)

  try:
    encryptDataFileName = str(input(B + "Dateiname + Endung: "))
    to_encrypt = open(encryptDataFileName, "rb").read()
    size = len(to_encrypt)
    key = os.urandom(size)
    
    with open(encryptDataFileName + ".key", "wb") as key_out:
      key_out.write(key)

    encrypted = bytes(a ^ b for (a, b) in zip(to_encrypt, key))

    with open(encryptDataFileName, "wb") as encrypted_out:
      encrypted_out.write(encrypted)

    hide(encryptDataFileName + ".key")
    print(G + "Datei erfolgreich verschlüsselt!" + W)
    wait()
  except:
    excp()

def decryptData():
  print("")
  print(O + "Hinweis: Datei muss sich im gleichen Verzeichnis befinden!" + G)

  try:
    decryptDataFileName = str(input(B + "Dateiname + Endung: "))
    key = decryptDataFileName + ".key"
    file = open(decryptDataFileName, "rb").read()
    key = open(key, "rb").read()
    decrypted = bytes(a ^ b for (a, b) in zip(file, key))

    with open(decryptDataFileName, "wb") as decrypted_out:
      decrypted_out.write(decrypted)

    print(G + "Datei erfolgreich entschlüsselt!" + W)
    wait()
  except:
    excp()

while True:
  cls()
  defaultColor()
  print("1) Datei verschlüsseln")
  print("2) Datei entschlüsseln")
  print("")

  try:
    userInput = int(input("Befehlsnummer: "))

    if userInput == 1: encryptData()
    if userInput == 2: decryptData()
  except:
    excp()

Das funktioniert auch alles ganz gut, bis auf das Entschlüsseln. Da bekomme ich folgenden Fehler:

PermissionError: [Errno 13] Permission denied

Im Internet bin ich nicht wirklich schlau geworden, wie ich das beheben kann.

LG und vielen Dank im Voraus. 🙂

PS: Ich habe bereits Erfahrung in anderen Programmiersprachen, weswegen der Code nicht so aussieht, als würde ich erst heute angefangen haben. 🙂

PC, Computer, Windows, Datei, Technik, Programm, Programmieren, Programmierung, Informatik, Python, Technologie
[JavaFX] Datei in "resources" wird entweder gefunden und nicht beschrieben oder nicht gefunden?

Damit würde das System die Datei wohl finden (weil keine Fehlermeldung kommt), aber sie wird nicht beschrieben:

public File propertiesFile = new File(Objects.requireNonNull(getClass().getResource("/Personalization/Programm.properties")).toURI());

Beschrieben wird es hiermit:

Properties properties = new Properties();
properties.setProperty("language", "ger");
properties.setProperty("design", "default");
FileWriter writer = new FileWriter(propertiesFile);
properties.store(writer, null);
writer.close();

Dasselbe hat eben noch funktioniert, nur dass die Datei auf dem Desktop lag und nicht im resource-Ordner des Projekts.

Mit:

public File propertiesFile = new File(Objects.requireNonNull(getClass().getResource("/Personalization/Programm.properties")).getFile());

wird der Pfad in der Fehlermeldung richtig angezeigt und die Datei ist auch in diesem Ordner drin, aber der sagt, dass die Datei nicht gefunden wurde ...:

Caused by: java.io.FileNotFoundException: C:\Users\x\Desktop\Programming\workspace - IntelliJ IDEA\Programm\build\resources\main\Personalization\Programm.properties (Das System kann den angegebenen Pfad nicht finden)

Ich habe eben den Pfad, der mir ausgespuckt wird, ausprobiert ... Die Datei existiert ...

Da:

[JavaFX] Datei in "resources" wird entweder gefunden und nicht beschrieben oder nicht gefunden?
PC, Computer, Datei, Programmieren, Java, JavaFX, IntelliJ IDEA
PHP-Upload keine Leseberechtigung?

Hi, also ich Arbeite gerade an einer WallpaperEngine und baue dafür gerade den GUI. Um ein Hintergrund Hinzuzufügen mach ich gerade einen PHP-Upload, die Dateien kommen auch in den Ordner usw aber das Problem ist das ich sie nicht lesen kann .____.

Ich hab es bereits mit chmod versucht aber hat er auch keine Lust. Im Error Log steht (Verständlicher weiße) auch nichts.

Ich verwende PHP 8.1 (Auf Windows) mit Apache2.4

Hier mal der Code:

<?php
session_start();


$message = ''; 
if (isset($_POST['uploadBtn']) && $_POST['uploadBtn'] == 'Upload')
{
  if (isset($_FILES['uploadedFile']) && $_FILES['uploadedFile']['error'] === UPLOAD_ERR_OK)
  {
    // get details of the uploaded file
    $fileTmpPath = $_FILES['uploadedFile']['tmp_name'];
    $fileName = $_FILES['uploadedFile']['name'];
    $fileSize = $_FILES['uploadedFile']['size'];
    $fileType = $_FILES['uploadedFile']['type'];
    $fileNameCmps = explode(".", $fileName);
    $fileExtension = strtolower(end($fileNameCmps));


    // sanitize file-name
    $newFileName = md5(time() . $fileName) . '.' . $fileExtension;


    // check if file has one of the following extensions
    $allowedfileExtensions = array('mp4', 'mkv', 'ogg', 'gif');


    if (in_array($fileExtension, $allowedfileExtensions))
    {
      // directory in which the uploaded file will be moved
	      if (!file_exists('./uploaded_files/')) {
				mkdir('./uploaded_files/', 0777, true);
			}
      $uploadFileDir = './uploaded_files/';
      $dest_path = $uploadFileDir . $newFileName;


      if(move_uploaded_file($fileTmpPath, $dest_path)) 
      {
        $messagede ='File is successfully uploaded.';
		$response = chmod($dest_path,0755);
		$res2 = chmod('./uploaded_files/',0755);
		$message = $messagede."<br><br>".$response."<br><br>".$res2;
	  }
      else 
      {
        $message = 'There was some error moving the file to upload directory. Please make sure the upload directory is writable by web server.';
      }
    }
    else
    {
      $message = 'Upload failed. Allowed file types: ' . implode(',', $allowedfileExtensions);
    }
  }
  else
  {
    $message = 'There is some error in the file upload. Please check the following error.<br>';
    $message .= 'Error:' . $_FILES['uploadedFile']['error'];
  }
}
$_SESSION['message'] = $message;
header("Location: index.php");

Hat jemand eine Idee? Danke im Vorraus! LG

PC, Computer, Windows, Datei, Technik, HTML, Upload, Programmieren, Programmierung, Apache, development, PHP, web-development, Computerprogramm, berechtigung, permissions

Meistgelesene Fragen zum Thema Datei