# tf.io.gfile.join

<br />

|---|
| [![](https://www.tensorflow.org/images/GitHub-Mark-32px.png) View source on GitHub](https://github.com/tensorflow/tensorflow/blob/v2.13.1/tensorflow/python/lib/io/file_io.py#L781-L816) |

Join one or more path components intelligently.

#### View aliases


**Compat aliases for migration**

See
[Migration guide](https://www.tensorflow.org/guide/migrate) for
more details.

[`tf.compat.v1.io.gfile.join`](https://www.tensorflow.org/api_docs/python/tf/io/gfile/join)

<br />

    tf.io.gfile.join(
        path, *paths
    )

TensorFlow specific filesystems will be joined
like a url (using "/" as the path seperator) on all platforms:

On Windows or Linux/Unix-like:

    >>> tf.io.gfile.join("gcs://folder", "file.py")
    'gcs://folder/file.py'

    tf.io.gfile.join("ram://folder", "file.py")
    'ram://folder/file.py'

But the native filesystem is handled just like os.path.join:

    path = tf.io.gfile.join("folder", "file.py")
    if os.name == "nt":
      expected = "folder\\file.py"  # Windows
    else:
      expected = "folder/file.py"  # Linux/Unix-like
    path == expected
    True

<br />

<br />

<br />

| ## Args ||
|---|---|
| `path` | string, path to a directory |
| `paths` | string, additional paths to concatenate |

<br />

<br />

<br />

<br />

| ## Returns ||
|---|---|
| `path` | the joined path. |

<br />