Python 工作目录在哪里?
我使用Jupyter笔记本在我的机器上运行了这段代码,认为它可能不工作,因为相对目录不存在……但是,结果证明它工作了。因此,使用的相对目录Python 工作目录在哪里?,python,tensorflow,jupyter-notebook,mnist,Python,Tensorflow,Jupyter Notebook,Mnist,我使用Jupyter笔记本在我的机器上运行了这段代码,认为它可能不工作,因为相对目录不存在……但是,结果证明它工作了。因此,使用的相对目录/datasets/ud730/mnist必须与当前工作目录相对,即C:\\Users\\george.liu\\OneDrive\\WorkingDir\\Temp。但是,我找不到任何相关的文件夹或文件。我还检查了C:\\Users\\george.liu,那里也没有任何内容……我遗漏了什么?文件放在哪里?谢谢 from tensorflow.example
/datasets/ud730/mnist
必须与当前工作目录相对,即C:\\Users\\george.liu\\OneDrive\\WorkingDir\\Temp
。但是,我找不到任何相关的文件夹或文件。我还检查了C:\\Users\\george.liu
,那里也没有任何内容……我遗漏了什么?文件放在哪里?谢谢
from tensorflow.examples.tutorials.mnist import input_data
import tensorflow as tf
n_input = 784 # MNIST data input (img shape: 28*28)
n_classes = 10 # MNIST total classes (0-9 digits)
# Import MNIST data
mnist = input_data.read_data_sets('/datasets/ud730/mnist', one_hot=True)
# The features are already scaled and the data is shuffled
train_features = mnist.train.images
test_features = mnist.test.images
train_labels = mnist.train.labels.astype(np.float32)
test_labels = mnist.test.labels.astype(np.float32)
# Weights & bias
weights = tf.Variable(tf.random_normal([n_input, n_classes]))
bias = tf.Variable(tf.random_normal([n_classes]))
编辑:
我确实使用以下代码检查了当前工作目录:
import os
os.getcwd()
这就是结果:
Linux上的“C:\Users\george.liu\OneDrive\WorkingDir\Temp”是一个绝对路径 但是在Windows机器上,如果您的当前驱动器中有一个子目录
python
,例如D:\python
,并且当前目录位于D:
(不一定在根目录下,可能已经是:D:\python
),您可以执行os.chdir(/python”)
,它的工作方式与执行os.chdir(r“D:\python”)的工作方式类似
所以斜杠不会被忽略,它就像:\
(当前驱动器的根)
在您的例子中,python查找C:\datasets\ud730\mnist
,因为当前目录位于驱动器C:
上的某个位置
您可以通过在Linux上打印
os.path.abspath('/datasets/ud730/mnist')
来检查是否为绝对路径
但是在Windows机器上,如果您的当前驱动器中有一个子目录python
,例如D:\python
,并且当前目录位于D:
(不一定在根目录下,可能已经是:D:\python
),您可以执行os.chdir(/python”)
,它的工作方式与执行os.chdir(r“D:\python”)的工作方式类似
所以斜杠不会被忽略,它就像:\
(当前驱动器的根)
在您的例子中,python查找C:\datasets\ud730\mnist
,因为当前目录位于驱动器C:
上的某个位置
您可以通过打印
os.path.abspath('/datasets/ud730/mnist')
关于C:\datasets\ud730…您是否尝试在文件管理器中搜索该文件?为什么不在运行时打印os.getcwd()
?我确认,在windows上,“/datasets/ud730/mnist”可以被视为相对路径(在linux上显然不是),前导斜杠表示这是一条绝对路径,而不是相对路径。实际上它不会被忽略。这是有意义的。C:\datasets\ud730如何…您是否尝试在文件管理器中搜索该文件?为什么不在运行时打印os.getcwd()
?我确认,在windows上,“/datasets/ud730/mnist”可以被视为相对路径(在linux上显然不是),前导斜杠表示这是一条绝对路径,而不是相对路径。实际上它不会被忽略。这是有意义的。