👻 Check our latest review to choose the best laptop for Machine Learning engineers and Deep learning tasks!
I"ve a python script which works just as it should, but I need to write the execution time. I"ve googled that I should use
timeit but I can"t seem to get it to work.
My Python script looks like this:
import sys import getopt import timeit import random import os import re import ibm_db import time from string import maketrans myfile = open("results_update.txt", "a") for r in range(100): rannumber = random.randint(0, 100) update = "update TABLE set val = %i where MyCount >= "2010" and MyCount < "2012" and number = "250"" % rannumber #print rannumber conn = ibm_db.pconnect("dsn=myDB";"usrname";"secretPWD") for r in range(5): print "Run %s " % r ibm_db.execute(query_stmt) query_stmt = ibm_db.prepare(conn, update) myfile.close() ibm_db.close(conn)
What I need is the time it takes to execute the query and write it to the file
results_update.txt. The purpose is to test an update statement for my database with different indexes and tuning mechanisms.
👻 Read also: what is the best laptop for engineering students?
How can I open multiple files using "with open" in Python?
I want to change a couple of files at one time, iff I can write to all of them. I"m wondering if I somehow can combine the multiple open calls with the
try: with open("a", "w") as a and open("b", "w") as b: do_something() except IOError as e: print "Operation failed: %s" % e.strerror
If that"s not possible, what would an elegant solution to this problem look like?
As of Python 2.7 (or 3.1 respectively) you can write
with open("a", "w") as a, open("b", "w") as b: do_something()
In earlier versions of Python, you can sometimes use
contextlib.nested() to nest context managers. This won"t work as expected for opening multiples files, though -- see the linked documentation for details.
In the rare case that you want to open a variable number of files all at the same time, you can use
contextlib.ExitStack, starting from Python version 3.3:
with ExitStack() as stack: files = [stack.enter_context(open(fname)) for fname in filenames] # Do something with "files"
Most of the time you have a variable set of files, you likely want to open them one after the other, though.
open() in Python does not create a file if it doesn"t exist
What is the best way to open a file as read/write if it exists, or if it does not, then create it and open it as read/write? From what I read,
file = open("myfile.dat", "rw") should do this, right?
It is not working for me (Python 2.6.2) and I"m wondering if it is a version problem, or not supposed to work like that or what.
The bottom line is, I just need a solution for the problem. I am curious about the other stuff, but all I need is a nice way to do the opening part.
The enclosing directory was writeable by user and group, not other (I"m on a Linux system... so permissions 775 in other words), and the exact error was:
IOError: no such file or directory.
You should use
open with the
file = open("myfile.dat", "w+")
Difference between modes a, a+, w, w+, and r+ in built-in open function?
In the python built-in open function, what is the exact difference between the modes
In particular, the documentation implies that all of these will allow writing to the file, and says that it opens the files for "appending", "writing", and "updating" specifically, but does not define what these terms mean.
The opening modes are exactly the same as those for the C standard library function
fopen manpage defines them as follows:
The argument mode points to a string beginning with one of the following sequences (Additional characters may follow these sequences.): ``r"" Open text file for reading. The stream is positioned at the beginning of the file. ``r+"" Open for reading and writing. The stream is positioned at the beginning of the file. ``w"" Truncate file to zero length or create text file for writing. The stream is positioned at the beginning of the file. ``w+"" Open for reading and writing. The file is created if it does not exist, otherwise it is truncated. The stream is positioned at the beginning of the file. ``a"" Open for writing. The file is created if it does not exist. The stream is positioned at the end of the file. Subsequent writes to the file will always end up at the then current end of file, irrespective of any intervening fseek(3) or similar. ``a+"" Open for reading and writing. The file is created if it does not exist. The stream is positioned at the end of the file. Subse- quent writes to the file will always end up at the then current end of file, irrespective of any intervening fseek(3) or similar.