Python – When to use file vs open

You should always use open(). As the documentation states: When opening a file, it’s preferable to use open() instead of invoking this constructor directly. file is more suited to type testing (for example, writing “isinstance(f, file)”). Also, file() has been removed since Python 3.0.

Natural Sort Order in C#

The easiest thing to do is just P/Invoke the built-in function in Windows, and use it as the comparison function in your IComparer: [DllImport(“shlwapi.dll”, CharSet = CharSet.Unicode)] private static extern int StrCmpLogicalW(string psz1, string psz2); Michael Kaplan has some examples of how this function works here, and the changes that were made for Vista to … Read more

Reading a huge .csv file

You are reading all rows into a list, then processing that list. Don’t do that. Process your rows as you produce them. If you need to filter the data first, use a generator function: import csv def getstuff(filename, criterion): with open(filename, “rb”) as csvfile: datareader = csv.reader(csvfile) yield next(datareader) # yield the header row count … Read more

PHP filesize MB/KB conversion [duplicate]

Here is a sample: <?php // Snippet from PHP Share: http://www.phpshare.org function formatSizeUnits($bytes) { if ($bytes >= 1073741824) { $bytes = number_format($bytes / 1073741824, 2) . ‘ GB’; } elseif ($bytes >= 1048576) { $bytes = number_format($bytes / 1048576, 2) . ‘ MB’; } elseif ($bytes >= 1024) { $bytes = number_format($bytes / 1024, 2) … Read more

How to list the files inside a JAR file?

CodeSource src = MyClass.class.getProtectionDomain().getCodeSource(); if (src != null) { URL jar = src.getLocation(); ZipInputStream zip = new ZipInputStream(jar.openStream()); while(true) { ZipEntry e = zip.getNextEntry(); if (e == null) break; String name = e.getName(); if (name.startsWith(“path/to/your/dir/”)) { /* Do something with this entry. */ … } } } else { /* Fail… */ } Note that … Read more

How to convert Base64 String to javascript file object like as from file input form?

Way 1: only works for dataURL, not for other types of url. function dataURLtoFile(dataurl, filename) { var arr = dataurl.split(‘,’), mime = arr[0].match(/:(.*?);/)[1], bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n); while(n–){ u8arr[n] = bstr.charCodeAt(n); } return new File([u8arr], filename, {type:mime}); } //Usage example: var file = dataURLtoFile(‘data:text/plain;base64,aGVsbG8gd29ybGQ=’,’hello.txt’); console.log(file); Way 2: works for … Read more

Reading and writing binary file

If you want to do this the C++ way, do it like this: #include <fstream> #include <iterator> #include <algorithm> int main() { std::ifstream input( “C:\\Final.gif”, std::ios::binary ); std::ofstream output( “C:\\myfile.gif”, std::ios::binary ); std::copy( std::istreambuf_iterator<char>(input), std::istreambuf_iterator<char>( ), std::ostreambuf_iterator<char>(output)); } If you need that data in a buffer to modify it or something, do this: #include <fstream> … Read more