1.Prüft euer aktuelles Arbeits Verzeichnis
Da ich nicht genau weiß was du mit Prüfen meint man kann ja Pfad Größe und Inhalt prüfen so mach ich halt auch alles aber beim Prüfen von der Größe bekomme ich ein falschen Wert wieso???
1.Prüft euer aktuelles Arbeits Verzeichnis
Da ich nicht genau weiß was du mit Prüfen meint man kann ja Pfad Größe und Inhalt prüfen so mach ich halt auch alles aber beim Prüfen von der Größe bekomme ich ein falschen Wert wieso???
Die Idee kam mir auch schon,aber man muss doch auch irgendwie ganz einfach ins Parent Directory springen können.os.chdir(..) funktioniert z.B.nicht.
os.chdir(..\path) auch nicht.....
Um ein Verzeichnis vom aktuellen Verzeichnis zurück zu gehen os.chdir('..').
Du hattest es fast richtig!
Das soll doch Multi OS sein sollte ich dann nicht so was wie /usr/lib bekommen?
Nein Du musst einen Verzeichnisnamen oder den Path zum Verzeichnis angeben.
Funktioniert so unter Windows wenn Deutsch da das Verzeichnis Programme in C: vorhanden ist.
Prüft euer aktuelles Arbeitsverzeichnis , hm ist für mich eindeutig.
Bedeutet den Path!
Wie beschrieben:
os.path.getsize(filename) | gibt die Größe einer Datei aus ohne sie zu öffnen. |
os.path.getsize(Filename) Filename =Dateiname .
Du prüfst aber ein Verzeichnis!
Gruß Jan
Wieso geht das nicht?
# -*- coding: iso-8859-1 -*-
import os
import os.path
#1.Prüft euer aktuelles Arbeits Verzeichnis
print os.getcwd()
print os.listdir(os.getcwd())
print os.path.getsize(os.getcwd())
#2.Legt eine neues Verzeichnis an.
os.getcwd(os.mkdir('neues Verzeichnis'))
#3.Prüft ob das Verzeichnis vorhanden ist.
print os.path.isdir(os.path.abspath('neues Verzeichnis'))
#4.Wechselt in das neue Verzeichnis
os.chdir('neues Verzeichnis')
#5.Erstellt eine Textdatei in diesem Verzeichnis und beschreibt sie.
os.chdir('neues Verzeichnis')
er=open('Textdatei.txt','w')
er.write('Als Textdatei wird in der Informationstechnik eine Datei bezeichnet, die darstellbare Zeichen enthält.')
er.close()
Alles anzeigen
Wie beschrieben:
os.path.getsize(filename)
gibt die Größe einer Datei aus ohne sie zu öffnen.
os.path.getsize(Filename) Filename =Dateiname .
Du prüfst aber ein Verzeichnis!
Ja ich wollt die Größe des Verzeichnis haben bekomme aber ein Falschen Wert!?
Beantwortet dir das die Fragen?
# -*- coding: iso-8859-1 -*-
import os
import os.path
#1.Prüft euer aktuelles Arbeits Verzeichnis
home= os.getcwd()
print home
print os.listdir(home)
print os.path.getsize(home)
#prüft ob Verzeichnis vorhanden , wenn nicht erstellt es
if os.path.isdir('neues Verzeichnis')==True:
print 'ist vorhanden'
else:
os.mkdir('neues Verzeichnis')
new=os.path.join(os.sep,home,'neues Verzeichnis')
print new
#4.Wechselt in das neue Verzeichnis
os.chdir(new)
#5.Erstellt eine Textdatei in diesem Verzeichnis und beschreibt sie.
er=open('Textdatei.txt','w')
er.write('Als Textdatei wird in der Informationstechnik eine Datei bezeichnet, die darstellbare Zeichen enthält.')
er.close()
Alles anzeigen
Vielleicht solltest Du umrechnen ich denke die Ausgabe ist in Bytes.
Gruß Jan
Hab die Übungen soweit schon durch, morgen werde ich dann noch ein paar Funktionen daraus basteln.
Das einzige Problem war in Übung 12:
Erst lösche ich die 2 Dateien im Verzeichnis da ich dieses nur löschen kann wenn es leer ist mit:
for name in os.listdir(home):
os.remove(name)Danach möchte ich ins übergeordnete Verzeichnis mit os.chdir(Path) wechseln um das Verzeichnis auch löschen zu können:
>>> Wie das geht habe ich bisher nicht rausgefunden.
>>> Absoluter Pfad funktioniert natürlich (ist aber nicht der Sinn der Sache)
Ich habs auch ohne Dateien zu löschen hinbekommen.
Ist wahrscheinlich anders gewollt, aber so gehts schneller
Ist wahrscheinlich anders gewollt, aber so gehts schneller
Ja , ist momentan anders gewollt denn zu 'shutil' kommen wir noch!
os.chdir('..') bringt uns wieder zurück.
Gruß Jan
Beantwortet dir das die Fragen?
Nichtr wirklich da ich jedes Punkt einzeln versucht habe und er ging! Aber wen ich das so zusammenfasse das geht es nicht mehr???
Vielleicht solltest Du umrechnen ich denke die Ausgabe ist in Bytes.
Habe eine neue Datei sogar rein kopiert die den Ordner wesentlich vergrößern sollte bekomme aber immer das selbe. Wert 4096
Wieso können wir import os und import os.path machen wir haben in unserem Ordner doch keine der beiden Dateien!
Müsstest noch eine Verknüpfung im ersten Beitrag machen für die Lektion!
Nichtr wirklich da ich jedes Punkt einzeln versucht habe und er ging! Aber wen ich das so zusammenfasse das geht es nicht mehr???
Habe eine neue Datei sogar rein kopiert die den Ordner wesentlich vergrößern sollte bekomme aber immer das selbe. Wert 4096
Unabhängig ob es vorher ging oder nicht, solltest Du mit Variablen Arbeiten.
Ich selbst würde auch den Namen des neuen Verzeichnisses in einer Variable ablegen und dann nur auf die Variable zugreifen z.B.
Teste das ganze doch mit einem File(Datei) wie beschrieben.
Wenn ich Deine Textdatei so prüfe hat sie 103 Bytes und das ist der selbe Wert den mir der Explorer unter Eigenschaften der Datei angibt.
Größe auf dem Datenträger sind 4.096 Bytes wobei wir wieder bei Deiner Zahl sind!
Wobei auch die Python Datei in der Größe auf dem Datenträger 4,00 KB (4.096 Bytes) hat obwohl die Tatsächliche größe meiner Python Datei 49 Bytes ist und genau dieses Ergebnis bringt mir auch Python wenn ich es teste.
Also probiere wie beschrieben eine Datei denn umsonst habe ich das in der Definition ja nicht auch so geschrieben.
Gruß Jan
Wieso können wir import os und import os.path machen wir haben in unserem Ordner doch keine der beiden Dateien!
Python selbst hält Module dazu gehört auch das os Modul sowie re,urllib,urllib2 usw.
Also greifen wir mit den Import auf ein internes Python Modul zurück.
Das coole aber ist das man auch selbst Module erstellen kann oder weitere externe Module laden kann.
Wie z.B das request Modul oder Pafy.
hier siehst Du welche Module in Python 2.7 integriert sind!
Gruß Jan
Teste das ganze doch mit einem File(Datei) wie beschrieben.
Wenn ich Deine Textdatei so prüfe hat sie 103 Bytes und das ist der selbe Wert den mir der Explorer unter Eigenschaften der Datei angibt.
Größe auf dem Datenträger sind 4.096 Bytes wobei wir wieder bei Deiner Zahl sind!
Wobei auch die Python Datei in der Größe auf dem Datenträger 4,00 KB (4.096 Bytes) hat obwohl die Tatsächliche größe meiner Python Datei 49 Bytes ist und genau dieses Ergebnis bringt mir auch Python wenn ich es teste.Also probiere wie beschrieben eine Datei denn umsonst habe ich das in der Definition ja nicht auch so geschrieben.
Ja Dateien gehen bis auf .py da bekomme ich eine Fehlermeldung das hatte ich schon getestet und wollte dann aber einen ganzen Ordner der wird mir aber immer mit der selben Größe angegeben.
Auch das Beispiel von dir gibt mir nur die 4096 aus!
Unabhängig ob es vorher ging oder nicht, solltest Du mit Variablen Arbeiten.
Ich selbst würde auch den Namen des neuen Verzeichnisses in einer Variable ablegen und dann nur auf die Variable zugreifen z.B.
Die Liste wollte ich noch bearbeiten aber mich hat es doch überrascht das jeder Punk für sich geht aber zusammen dann ein Fehler beim Anlegen des Ordners gemeldet wird der erstellt wird.
Die Liste wollte ich noch bearbeiten aber mich hat es doch überrascht das jeder Punk für sich geht aber zusammen dann ein Fehler beim Anlegen des Ordners gemeldet wird der erstellt wird.
Der Fehler beim Anlegen des Ordners entstand weil er sicherlich von Dir schon beim einzelnen ausprobieren erstellt worden war.
Ich hatte in deinem Script verschiedene andere Fehler entdeckt so z.B beim wechseln in das neu erstellte Verzeichnis.
Was so wie ich es dann getan habe System unabhängig funktionieren tut.
Gruß Jan.
Alles OK. Brauche nur etwas Länger um den Fragenkatalog abzuarbeiten. Verständnis Probleme gibt es keine zZt.
Ps. habe gemerkt das einige Unklarheiten spät. um übernächsten Thema beseitigt sind.
Moin,
nein ich bin noch mit dabei, bloss ich bin seit gestern bis Freitag auf einer Schulung, daher kann ich die Aufgaben erst am WE machen.
Moin,
nein ich bin noch mit dabei, bloss ich bin seit gestern bis Freitag auf einer Schulung, daher kann ich die Aufgaben erst am WE machen.
Habe eine neue Datei sogar rein kopiert die den Ordner wesentlich vergrößern sollte bekomme aber immer das selbe. Wert 4096
Wird os.path.getsize() ist für Datein gedacht und gibt deren Größe in Byte zurück.
Bei einem Verzeichnis gibt es die Größe der Datei zurück, die das Verzeichnis auf dem Datenträger repräsentiert. Deswegen ist die Zahl die du erhält auch immer gleich, denn dein OS repräsentiert jedes Verzeichnins unabhängig von dessen Größe auf die gleiche Weise (z.B. https://de.wikipedia.org/wiki/Inode).
Wenn du die Größe des Inhalts wissen willst kannst du per listdir() alle Elemente im Vezeichnis erhalten. Dann für jedes Elemeten per .getsize() die Größe bestimmen und das ganze aufsummieren. (Falls es Unterverzeichinsse gibt muss man die natürlich auch noch entsprechend behandeln sonst stimmt das Ergebnis nicht so wirklich.)
hmm.. ich stecke etwas fest.
ich möchte in ein neues verzeichnis wechseln welches ich vorher abgespeichert habe als Variable.
import os
import os.path
newname='\pytest'
home=os.getcwd()
new=os.path.join(os.sep,home+newname)
os.chdir(new)
home=os.getcwd()
print home
Zeile 4 möchte ich OHNE \ schreiben
und in Zeile 5 ..
new=os.path.join(os.sep,home+'\'+newname) geht nicht.
zeich='\'
pfad='pytest'
newname=zeich+pfad
klappt auch nicht
erstellen?
So mal mein zwischenstand;) richtiger weg?
import os
import os.path
from tools.dirneu import *
from tools.rename import*
def dirneu (direk):
if os.path.isdir(direk)==True:
print direk + ' vorhanden'
else:
os.mkdir(direk)
def rename (direk,dirneu):
if os.path.isdir(direk)==False:
print 'Verzeichnis: ' + direk +' schon vorhanden!'
else:
os.rename(direk,dirneu)
print direk + ' in '+dirneu + ' umbenannt'
def loeschen (direk):
if os.path.isdir(direk)==True:
os.rmdir(direk)
print direk+'geloescht!'
else:
print 'Verzeichnis: ' + direk +' nicht gefunden!'
#######################
#dirneu('est1')
#rename('est1','est2')
#loeschen('est1')
#######################
newnamedir='\pytest'
newnamedat='bsp.txt'
##############################
home=os.getcwd()
new=os.path.join(os.sep,home+newnamedir)
print new
os.chdir(new)
home=os.getcwd()
print home
name='beispiel.txt'
neuname='beispiel2.txt'
f=open(name,'w')
f.write('beispieltext')
f.close()
f=open('beispiel.txt')
inhalt=f.read()
print inhalt
f.close()
Alles anzeigen
@Schwarzarm
Beispiel:
new=os.path.join(os.sep,home,'neues Verzeichnis','Bille')
verwende kein +!
os.sep (erzeugt automatisch den Separator (os spezifisch))
Gruß Jan
Edit 1:
Was ist in from tools.dirneu import * und tools.rename?
warum hast du 2 imports tools.dirneu und tools.rename?
Versuche es in einem import zu setzen!
Edit 2:
Wenn Du import's integrierst wäre es besser die Funktionen unter Tools Helper oder(egal welchen Namen zu importieren)
Die Variablen in deiner aktuellen .py zu setzen und auf die Funktionen vom Import zurück zu greifen!
Gruß Jan
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!