Ho scritto uno script per leggere il file di testo in python.Come verificare che il file di testo esista e non sia vuoto in python
Ecco il codice.
parser = argparse.ArgumentParser(description='script')
parser.add_argument('-in', required=True, help='input file',
type=argparse.FileType('r'))
parser.add_argument('-out', required=True, help='outputfile',
type=argparse.FileType('w'))
args = parser.parse_args()
try:
reader = csv.reader(args.in)
for row in reader:
print "good"
except csv.Error as e:
sys.exit('file %s, line %d: %s' % (args.in, reader.line_num, e))
for ln in args.in:
a, b = ln.rstrip().split(':')
Vorrei verificare se il file esiste e non è un file vuoto ma questo codice mi dà un errore.
Vorrei anche verificare se il programma può scrivere sul file di output.
Comando:
python script.py -in file1.txt -out file2.txt
ERRORE:
good
Traceback (most recent call last):
File "scritp.py", line 80, in <module>
first_cluster = clusters[0]
IndexError: list index out of range
controllare questo link: http://stackoverflow.com/questions/2259382/pythonic-way-to-check-if-a-file- esiste – Vinkal
che il codice non analizza nemmeno, 'in' non è un identificatore valido (in' args.in') –
Dove compare 'first_cluster = cluster [0]' nel codice? –