import os
import sys

if sys.version_info[0] == 2:
  _ENCODE = sys.getfilesystemencoding()

  def path_join(*args):
    bin_args = map(lambda a: a.decode(_ENCODE), args)
    return os.path.join(*bin_args).encode(_ENCODE)

  def str_join(s, l):
    bin_args = map(lambda a: a.decode(_ENCODE), l)
    b = s.decode(_ENCODE)
    return b.join(bin_args).encode(_ENCODE)

  logfile_open = open

else:

  path_join = os.path.join
  str_join = str.join

  def logfile_open(*args):
    return open(*args, errors='replace')

[(5, 'sys.getfilesystemencoding', 'sys.getfilesystemencoding', False, 'import sys\n'), (9, 'os.path.join', 'os.path.join', False, 'import os\n')]