Pues eso, que si por alguna remota posibilidad, alguno quisiera invitarme.

- EDIT -
Ya lo he conseguido gracias a un amigo :3 .

- EDIT -
Ya lo he conseguido gracias a un amigo :3 .
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menú

# -*- coding: cp1252 -*-
import os
directorio = os.getcwd()
lista = directorio
f = open('listado.txt', 'w')
directorio = directorio.split("\\")
directorio = directorio[0]
#print directorio
os.chdir(directorio + "\\")
def listado():
i = 0
archivos = os.listdir(directorio)
while i <= len(archivos):
if os.path.isfile(directorio+"\\"+archivos[i]) == True:
f.write(directorio+"\\"+archivos[i]+"\n")
else:
subdirectorios(directorio+"\\"+archivos[i])
i +=1
def subdirectorios(direc):
j=0
archivos=os.listdir(direc)
while j < len(archivos):
if os.path.isfile(direc+"\\"+archivos[j]) == True:
f.write(direc+"\\"+archivos[j]+"\n")
else:
subdirectorios(direc+"\\"+archivos[j])
j+=1
listado()
f.close()Citar File "C:\Documents and Settings\Shrick\Mis documentos\Prog\Python\araña.py", line 35, in subdirectorios
subdirectorios(direc+"\\"+archivos[j])
File "C:\Documents and Settings\Shrick\Mis documentos\Prog\Python\araña.py", line 30, in subdirectorios
archivos=os.listdir(direc)
TypeError: listdir() argument 1 must be (buffer overflow), not str
.

.


, empece a buscar como un loco por Google haber como podia hacerlo y ya sabeis el dicho, si quieres, puedes, lo que he hecho esta vez, es crear un servidor socket hecho en python con algunas funciones que se ejecutaran según las ordenes que le demos, según parece, al crear un GUI con Tkinter y teniendo sockets, te ves en una encrucijada pues tenemos dos búcles el de los sockets, para mantener la comunicación y el de la ventana gráfica (root.mainloop()), asi que la solución obvia seria ejecutar una y después otra por cada ciclo, para ello es necesario el uso de thread, que he aprendido a nivel básico como funciona hace un rato
, del PDF, Python para todos, y como no tengo ni idea de clases en python lo he adaptado como he podido, y ello me ha obligado a tener que entenderlo.#!/usr/bin/python
import socket
import os
s = socket.socket()
s.bind(("localhost", 9999))
s.listen(30)
sc, addr = s.accept()
sc.send("Bienvenido!")
while True:
recibido = sc.recv(255)
print "Recibido:", recibido
if recibido == "quit":
break
if recibido == "mostrar_os":
recibido = os.name
if recibido == "cmd pause":
os.system("pause")
if recibido == "echo HolaM":
os.system("echo \"Hola Mundo\"")
sc.send(recibido)
print "adios"
sc.close()
s.close()#!/usr/bin/python
from Tkinter import *
import socket
import threading
class App:
def __init__(self, master):
Texto = ""
frame = Frame(master)
frame.pack()
self.texto_chat = Text(frame)
self.texto_envio = Entry(frame)
self.boton_enviar = Button(frame, text="Enviar!", command=self.evento)
self.texto_chat.grid(row=1, column=1)
self.texto_envio.grid(row=2, column=1)
self.boton_enviar.grid(row=2, column=2,)
def evento(self):
Texto = self.texto_envio.get()
s.send(Texto)
self.texto_chat.insert(END, "Cliente -> " + Texto + "\n", END)
root = Tk()
application = App(root)
class socket_thread(threading.Thread):
def __init__(self):
threading.Thread.__init__(self)
def run(self):
while True:
mensaje = s.recv(255)
print "Server -> " + mensaje
application.texto_chat.insert(END, "Server -> " + mensaje + "\n", END)
#time.sleep(2)
if mensaje == "quit":
self.salir
def salir():
print "Saliendo..."
s.close()
s = socket.socket()
s.connect(("localhost", 9999))
sock = socket_thread()
sock.start()
root.mainloop()
#!/usr/bin/python
import socket
s = socket.socket()
s.bind(("localhost", 9999))
s.listen(30)
sc, addr = s.accept()
sc.send("Bienvenido!")
while True:
recibido = sc.recv(255)
print "Recibido:", recibido
if recibido == "quit":
break
if recibido == "tonto":
recibido = "Probando..."
sc.send(recibido)
print "adios"
sc.close()
s.close()
#!/usr/bin/python
import socket
#import time
def salir():
print "adios"
s.close()
s = socket.socket()
s.connect(("localhost", 9999))
while True:
mensaje = s.recv(255)
#time.sleep(2)
mensaje = raw_input("> ")
s.send(mensaje)
if mensaje == "quit":
salir
if mensaje == "Probando....":
print mensaje
# -*- coding: cp1252 -*-
import os
import sys
firma = "[-FIRMA-]"
def camuflar():
nombre_archivo = sys.argv[2]
imagen = "prueba.png"
f = open(nombre_archivo, 'rb')
contenido = f.read()
d = open(imagen, 'rb')
contenido_imagen = d.read()
x = open("camuflado.png", 'wb')
contenido = contenido_imagen + firma + contenido
x.write(contenido)
f.close()
x.close()
def descubierto():
nombre_archivo = sys.argv[2]
f = open(nombre_archivo, 'rb')
d = open("descubierto.zip", 'wb')
contenido = f.read()
c = contenido.split(firma)
print c
d.write(c[1])
f.close()
d.close()
if sys.argv[1] == "-c" and sys.argv[2] != "":
camuflar()
print "¡Camuflado!"
elif sys.argv[1] == "-d" and sys.argv[2] != "":
descubierto()
print "¡Descubierto!"
elif sys.argv[1] == "-h":
print "\n\t-c camuflar\n\t-d descubrir\nSintaxis: python camuflador.py -argumento nombre_archivo"
else:
print "¡No ha escrito argumentos!, añada '-h' para ayuda."python Joiner.py archivo_principal lugar_destinogui.exe
cepillo.exe
juego.exeimport string
import os
import sys
archivo = sys.argv[1] # Metemos el archivo principal
extraccion = sys.argv[2] # Donde queremos que se guarde
archivos_leidos = [] # Va a contener todas las direcciones
f = open('archivos.txt', 'r') # Abrimos para lectura de archivos
i = 0 # Lo usamos para asignar dinamicamente strings a archivos_leidos
ruta = os.getcwd()
ruta = ruta.split('\\')
ruta = os.getcwd()
j = len(f.readlines())
f.seek(0)
while i < j:
c = f.readline()
d = c.split('\n')
d = d[0]
archivos_leidos.append(i)
archivos_leidos[i] = d
i+=1
f.close()
def Juntar():
Firma = "[**-_-**]"
SubFirma = "^^_~~_^^"
os.system('copy stub.dll stub.exe')
print archivos_leidos
n = 0
p = ''
while n < i:
p = archivos_leidos[n]
o = open(p, 'rb')
archivo = o.read()
o.close()
f = open('stub.exe', 'ab')
f.write(Firma)
f.write(archivo+SubFirma)
f.write(archivos_leidos[n]+SubFirma)
f.write(extraccion+SubFirma)
f.write('Si')
f.close()
n +=1
Juntar()import string
import os
import sys
def Ruta():
print os.path.dirname + '\\'+ os.path.basename
Archivo = ''
Nombre = ''
RutaExt = ''
Ejecutar = ''
Firma = '[**-_-**]'
SubFirma = '^^_~~_^^'
f = open(ruta(), 'rb')
Todo = f.read()
f.close()
Partes = Todo.split(Firma)
n=1
while n < len(Partes):
SubPartes = Partes.split(SubFirma)
i=0
for i in len(SubPartes):
if i == 0:
Archivo = SubPartes(i)
elif i == 1:
Nombre = SubPartes(i)
elif i == 2:
RutaExt = SubPartes(i)
elif i == 3:
Ejecutar = Subpartes(i)
f = open(RutaExt + '\\' + Nombre, 'wb')
f.write(Archivo)
f.close()
#i += 1
.python cortador.py archivo_origen tamaño destinopython cortador.py "/home/shrick/archivo.jpg" 102400 "/home/shrick/carpeta_trozos"C:\Python25\python.exe "C:\Documents and Settings\Administrador\Escritorio\cortador.py" 102400 "C:\Documents and Settings\Administrador\Escritorio\carpeta_trozos"# -*- coding: cp1252 -*-
# Cortador by Shrick
# Gracias a Google y Documentación de Python
# Agradecimientos a http://www.elhacker.net, en especial a Novlucker
import string
import os
import sys
ruta = sys.argv[1] # Archivo a dividir
nombre_archivo = os.path.basename(ruta) # Obtener nombre real del archivo
tamano_trozo = sys.argv[2] # Tamaño de los trozos (Bytes xDDDD)
destino = sys.argv[3] # Destino de los Trozos
destino2 = destino
tamano_trozo = int(tamano_trozo) # Pasamos argumento de String a Integer
tamano = os.path.getsize(ruta) # Tamaño del Archivo (Bytes)
print "Tamaño: " + repr(tamano) + " Bytes\n\nParticionando Archivo, por favor espere..." # Imprimir Tamaño del Archivo (Bytes)
datos = '' # Datos del buffer
posicion = 0 # Para posicionarse en los datos a leer
i = 0 # Para Hacer .0, .1, .2, .3, .4, etc...
f = open (ruta, 'rb') # Abrimos archivo
while posicion <= tamano: # Creamos bucle que diga que si posicion menor o igual que tamaño hago lo que esta a continuación
destino = destino + nombre_archivo + "." + repr(i) # Crear nombre del archivo prueba.jpg.0, prueba.jpg.1, prueba.jpg.*
print "Creado: " + destino
j = open (destino, 'wb') # Creamos el archivo prueba.jpg.*
if i == 0: # Condicional para leer el bloque inicial
datos = f.read(tamano_trozo) # Datos toma lo leido del buffer
j.write(datos) # Escribimos en el archivo.
j.close() # Cerramos archivo
posicion = tamano_trozo # Metemos la posición siguiente en la integer
i = i + 1 # Sumamos 1 a la variable integer
else:
f.seek (posicion) # Función que va al byte con el valor de posición
datos = f.read(tamano_trozo) # Poner datos (X bytes de info.) en la variable desde esa posición
j.write(datos) # Escribimos en archivo
posicion = posicion + tamano_trozo # Vamos una posicion más avanzada
j.close() # Cerramos archivo
i = i + 1 # Sumamos 1 a la variable integer
destino = destino2
f.close() # Cerramos archivo principal
x = open (destino2 + nombre_archivo + ".bat", 'w') # A partir de aquí creamos el .bat para pegar archivos
x.write('copy /b "'+ nombre_archivo + '.0" "' + nombre_archivo + '"\n')
z = 1
while z<i:
x.write('copy /b "'+ nombre_archivo +'"+"'+ nombre_archivo +'.'+ repr(z)+ '"\n')
z = z + 1
x.close()
# x = open ('pegador_linux', 'w') # Creamos el equivalente .bat para Linux es decir para Bash
# x.write('#!/bin/bash\n')print "1º Coca Cola\n\
2ºFanta\n\
3º Agua\n\
4º 7up\n\
Introduzca su elección (nº): "
num = input()
if num == 1:
print "Has seleccionado Coca Cola"
if num == 2:
print "Has seleccionado Coca Cola"
if num == 3:
print "Has seleccionado Agua"
if num == 4:
print "Has seleccionado 7up"
if num <0 and num > 5:
print "¡Opción Incorrecta!, por favor vuelva a ejecutar el programa."
package maquina_expendedora;
import java.io.*;
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws IOException {
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
Integer num;
String str;
System.out.println("1º Coca Cola\n2º Fanta\n3º Agua\n4º 7up\nIntroduzca su elección (nº): ");
str=in.readLine();
num = Integer.valueOf(str).intValue();
if (num == 1)
System.out.println("Has seleccionado Coca Cola");
if (num == 2)
System.out.println("Has seleccionado Fanta");
if (num == 3)
System.out.println("Has seleccionado Agua");
if (num == 4)
System.out.println("Has seleccionado 7up");
if ( num < 0 || num >5 )
System.out.println("¡Opción Incorrecta, Por favor vuelva a ejecutar el programa");
}
}
, es decir, crear una cola de archivos que subiran uno por uno a un servidor FTP
, he estado probando con el VB, haber como se hace y he llegado a que necesito que me capte las pulsaciones de teclado cuando no esta seleccionado el programa, aquí les dejo algo de code que he creado:
Option Explicit
Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii >= 0 Then
Label1.Caption = KeyAscii
End If
End Sub
, bueno voy al grano, estoy investigando con php y xml, y su potencia, que me deja sin palabras, puede sustituir a cualquier bases de datos con eficiencia, siempre que se tenga cuidado con los CHMOD, aquí les dejo mi código:<?xml version = "1.0" encoding = "iso-8859-1" ?>
<registro>
<user>
<fecha></fecha>
<ip></ip>
<referer></referer>
<so></so>
</user>
</registro><?php
$dom = new DomDocument();
$dom -> load("log.xml");
$ip = $_SERVER['REMOTE_ADDR'];
$referer = $_SERVER['HTTP_REFERER'];
$so = $_SERVER['HTTP_USER_AGENT'];
//DomNode->insert_before
#Elementos
$user = $dom -> createElement("user");
$fechax = $dom -> createElement("fecha");
$ipx = $dom -> createElement("ip");
$refererx = $dom -> createElement("referer");
$sox = $dom -> createElement("so");
#Crear nodos con texto
$tiempo = date("H:i, d/F/Y");
$fechatext = $dom -> createTextNode($tiempo);
if ($ip != NULL){
$iptext = $dom -> createTextNode($ip);
}
if ($referer != NULL){
$referertext = $dom -> createTextNode($referer);
}
if ($so != NULL){
$sotext = $dom -> createTextNode($so);
}
$fechax -> insert_before($fechatext, $fechatext);
$ipx -> insert_before($iptext, $iptext);
$refererx -> insert_before($referertext, $referertext);
$sox -> insert_before($sotext, $sotext);
$user -> insert_before($fechax, $fechax);
$user -> insert_before($ipx, $ipx);
$user -> insert_before($refererx, $refererx);
$user -> insert_before($sox, $sox);
$dom ->documentElement -> insert_before($user, $user);
$dom -> save("log.xml");
?>
.