On 2016-04-28, Grant Edwards wrote: > On 2016-04-28, Adam Funk <a24...@ducksburg.com> wrote: >> On 2016-04-26, Random832 wrote: >> >>> On Tue, Apr 26, 2016, at 09:30, Adam Funk wrote: >>>> I recently discovered pathlib in the Python 3 standard library, & find >>>> it very useful, but I'm a bit surprised that it doesn't offer things >>>> like is_readable() and is_writable. Is there a good reason for that? >>> >>> Well, one reason would be EAFP. Just try to open the file and see if it >>> gives you a PermissionError. >> >> I understand that in general, but the tool I'm working on here takes a >> command-line option to specify an output directory, & I'd rather not >> start processing the data (which involves GETting from a REST service, >> processing, and PUTting back modifications to the data) only to crash >> after the first batch because of a user error. > > Then open the output file before you do the GET.
I guess I could, but fetching the data actually involves a whole lot of GET requests (the first one includes cross-references to the URLs where the rest of the data is found), some BeautifulSoup processing, & a lot of other processing to produce a big dict, which I then write out as json using what I think is the best way (output_file is an instance of pathlib.Path): with output_file.open(mode='w', encoding='UTF-8', errors='replace') as f: json.dump(output, f, sort_keys=True, indent=2) > Or just do os.access("directory/where/you/want/to/open/a/file",os.W_OK) That's what I'm doing now, but I prefer to give the user the error message early on. -- https://mail.python.org/mailman/listinfo/python-list