Python - Crear archivo con python

 
Vista:

Crear archivo con python

Publicado por pochu (1 intervención) el 16/11/2006 12:51:08
Hola a todos.

Soy nuevo en el mundo de python, bueno en realidad en el de la programación.

Me he leído algunos tutoriales, y me he puesto a hacer mi primer programita (de momento para Linux), pero quería que éste crease un archivo, pero no sé como poner la ruta para que sea genérico. Me explico:

El archivo tiene que crearse en la carpeta personal del usuario que lo ejecuta, pero si pongo:
file('~/Desktop/file','w').write(a)
Me dice que ese archivo no existe, por lo que tengo que poner:
file('/home/pochu/Desktop/file','w').write(a)
Y entonces lo hace bien. Pero el problema es que si el usuario que lo ejecuta no es pochu, la ruta es incorrecta.

Si a alguien se le ocurre como lo puedo solucionar...
He pensado que a lo mejor puedo importar el nombre de usuario como una variable (no tengo ni idea de si se puede) en plan:
import $user
o algo así.

¡Un saludo gracias!
pochu
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Crear archivo con python

Publicado por Merodeador (3 intervenciones) el 19/11/2006 19:16:41
En linux existe el comando ' whoami' que devuelve el nombre del usuario que ejecuta el comando. Ejecútalo en el programa almacenando el resultado en una varible. Échale un ojo a los módulos de sistema opertativo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Crear archivo con python

Publicado por alejandro (1 intervención) el 06/03/2010 08:05:30
from ctypes import *
import os
import sys
import time
from math import atan2
from pprint import pprint

xlib = cdll.LoadLibrary("libX11.so.6")
rr = cdll.LoadLibrary("libXrandr.so.2")

def get_rotation():
f = open("/sys/class/i2c-adapter/i2c-3/3-001d/coord", 'r' )
coords = [int(w) for w in f.readline().split()]
f.close()
return coords

print get_rotation()

def rotate(angle):
rr.XRRSetScreenConfigAndRate(display,config,root,size,angle,rate,timestamp)

display = xlib.XOpenDisplay(os.getenv("DISPLAY"))
screen = xlib.XDefaultScreen(display)
root = xlib.XDefaultRootWindow(display, screen)

class XRRScreenConfiguration(Structure):
pass

gsi = rr.XRRGetScreenInfo
gsi.restype = POINTER(XRRScreenConfiguration)
config = gsi(display, root)

current_time = c_ulong()
rr.XRRTimes.restpye = c_ulong
timestamp = rr.XRRTimes(display, screen, byref(current_time))

xccr = rr.XRRConfigCurrentRate
xccr.restype = c_int
rate = xccr(config)

rotation = c_ushort()
size = rr.XRRConfigCurrentConfiguration(config, byref(rotation))

while True:
[x,y,z] = get_rotation()
print x,y,z
if y < -500:
rotate(1)
elif y > 500:
rotate(4)

elif x < -500:
rotate(2)
elif x > 500:
rotate(8)

time.sleep(1)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Crear archivo con python

Publicado por Dave (1 intervención) el 12/07/2009 15:07:28
Usa las variables de entorno de la libreria de python,

os.environ['HOME']
#esto devuelve un string del tipo " /home/user/ "

checa la documentacion de OS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar