How can I test for the existence of a file or directory in q?
key file_handle or
File handle example:
q)\touch /tmp/test.txt q)key hsym ` $ "/tmp/test.txt" `:/tmp/test.txt q)
The function key returns an empty list when the file does not exist:
q)hdel `:/tmp/test.txt `:/tmp/test.txt q)() ~ key `:/tmp/test.txt 1b q)
key is one of the most heavily overloaded functions in q. It accepts an argument of type dictionary, keyed table, table column, list, and integer. It’s easy to confuse it with keys, which turns out to be an entirely different function.
See also: ~ (match), \ (system), hdel, hsym