Usare un link simbolico

Questo post (e un altro in via di preparazione) è molto meno intrigante e attuale di quelli comparsi su questo blog a firma dei miei collaboratori (Wal dikiyvolk, per esempio) ma è quello di cui mi sto occupando. Con dei non informatici (non lo sono neanch’io), il mondo è grande, e vario.
Ma poi torno alle cose normali, promesso.
symlnkIdea (non mia, grazie Lole (il post avresti dovuto scriverlo te (imho))): invece di riferirsi a un file usare un link simbolico allo stesso.

0
Ma funziona anche con Python?

#!/usr/bin/python
# -*- coding: utf-8 -*-

flink = 't.txt'    # symlink a text.txt
f = open(flink, 'r')
txt = f.read()
f.close()
print txt

l1

OK, funziona, non metto lo screenshot, è uguale al precedente. E si può creare dentro Python il link?

#!/usr/bin/python
# -*- coding: utf-8 -*-

import os

fname = 'text.txt' # file di testo
flink = 't.txt'    # symlink a fname

os.symlink(fname, flink)
f = open(flink, 'r')
txt = f.read()
f.close()
print txt

OK, funziona. E se il link esiste già?

l2

OPS! errore, modifico:

#!/usr/bin/python
# -*- coding: utf-8 -*-

import os

fname = 'text.txt' # file di testo
flink = 't.txt'    # symlink a fname

if os.path.lexists(flink):
	print 'esiste, lo cancello\n'
	os.remove(flink)

os.symlink(fname, flink)
f = open(flink, 'r')
txt = f.read()
f.close()
print txt

l3

Ma si può fare di meglio: se il symlink punta già al file giusto non c’è bisogno di cancellarlo e ricrearlo.

#!/usr/bin/python
# -*- coding: utf-8 -*-

import os

fname = 'text.txt' # file di testo
flink = 't.txt'    # symlink a fname

if os.path.lexists(flink):
	rpl = os.path.realpath(flink)
	print rpl
	rpf = os.path.realpath(fname)
	print rpl
	ok = rpl == rpf
	print ok

l4

OK, quindi basterebbe mettere tutto assieme … ma funziona anche con Windows?

w0 w1 w2 w3 w4

Disastroso 😦
Questa via non è praticabile, se vogliamo l’interoperabilità degli script tra i due sistemi operativi. Anzi, nel nostro caso siamo maggiormente interessati a Windows.

C’è però un’alternativa, si diceva… prossimamente… forse 😉

Posta un commento o usa questo indirizzo per il trackback.

Trackback

  • Invece del link | Ok, panico su 26 febbraio 2013 alle 15:25

    […] dal post precedente Usare un link simbolico  vista l’impraticabilità della soluzione “symbolic link” con Windows. Come mi […]

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo di WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Google photo

Stai commentando usando il tuo account Google. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.

%d blogger hanno fatto clic su Mi Piace per questo: