Archiv für Mai 2010

String, Float, Int und Object in Array casten

Veröffentlicht am 17. Mai 2010 um 23:00 by Fabian Martin Permalink

Schon gewusst das man, in PHP, Variablen ganz einfach in ein Array wandeln kann?

String, Float, Integer
Der Wert wird zur ersten Position im Array

$strTest = "Test";
$arrTest = (array)$strTest;
var_dump($arrTest);

/**
 * array(1) {
 *  [0]=>
 *  string(4) "Test"
 * }
 */

$intTest = 123;
$arrTest = (array)$intTest;
var_dump($arrTest);

/**
 * array(1) {
 *  [0]=>
 *  int(123)
 * }
 */

$fltTest = 1.23;
$arrTest = (array)$fltTest;
var_dump($arrTest);

/**
 * array(1) {
 *  [0]=>
 *  float(1.23)
 * }
 */

Objekte
Die Eigenschaften des Objekts finden sich im Array als Werte wieder. Je nach Sichtbarkeit, hat der Schlüssel einen Prefix, oder auch nicht.

class TestClass
{
	public $intPublicVar = 1;

	protected $intPortectedVar = 2;

	private $intPrivateVar = 3;
}

$objTest = new TestClass();
$arrTest = (array)$objTest;
var_dump($arrTest);

/**
 * array(3) {
 *  ["intPublicVar"]=>
 *  int(1)
 *  ["*intPortectedVar"]=>
 *  int(2)
 *  ["TestClassintPrivateVar"]=>
 *  int(3)
 * }
 */

Python: Verzeichnis rekursiv leeren

Veröffentlicht am 3. Mai 2010 um 22:56 by Fabian Martin Permalink

Mit dem folgenden Code Schnipsel kann man in Python ein Verzeichnis rekursiv leeren. Abhängig davon ob es sich um eine Datei, ein Verzeichnis oder eine Verknüpfung handelt, wird die entsprechende Methode zum entfernen aufgerufen.

for pathentry in os.walk('/path/to/dir', False):
	for dir in pathentry[1]:
		path = os.path.join(pathentry[0], dir)
		if os.path.islink(path):
			os.unlink(path)
		else:
			os.rmdir(path)

	for file in pathentry[2]:
		path = os.path.join(pathentry[0], file)
		os.unlink(path)

Möchte man das Hauptverzeichnis anschließend auch noch löschen, reicht ein simples

os.rmdir('/path/to/dir');