给定一个路径"mydir/myfile.txt",如何在Python中找到相对于当前工作目录的文件的绝对路径?例如在Windows上,我最终可能会:
"C:/example/cwd/mydir/myfile.txt"
Run Code Online (Sandbox Code Playgroud) 我有脚本调用其他脚本文件,但我需要获取当前在该进程中运行的文件的文件路径.
例如,假设我有三个文件.使用execfile:
script_1.py电话script_2.py.script_2.py打电话script_3.py.我怎样才能获得的文件名和路径script_3.py,从内部代码script_3.py,而无需从传递这些信息作为参数script_2.py?
(执行os.getcwd()返回原始起始脚本的文件路径而不是当前文件的.)
我正在构建一个简单的帮助脚本,用于将代码库中的几个模板文件复制到当前目录.但是,我没有存储模板的目录的绝对路径.我确实有一个来自脚本的相对路径,但是当我调用脚本时,它将其视为相对于当前工作目录的路径.有没有办法指定这个相对url来自脚本的位置?
我有一个配置文件abc.txt,看起来有点像:
path1 = "D:\test1\first"
path2 = "D:\test2\second"
path3 = "D:\test2\third"
Run Code Online (Sandbox Code Playgroud)
我想从abc.txt我的程序中读取这些路径以避免硬编码.
我正在使用pandas并且需要阅读一些csv文件,结构是这样的.
文件夹/文件夹2/scripts_folder/script.py
文件夹/文件夹2/data_folder/data.csv
如何从scripts_folder中的脚本打开data.csv文件?
我试过这个:
absolute_path = os.path.abspath(os.path.dirname('data.csv'))
pandas.read_csv(absolute_path + '/data.csv')
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
File folder/folder2/data_folder/data.csv does not exist
Run Code Online (Sandbox Code Playgroud) 我问,因为我正在为学校做项目.是的,这是功课.但是,我试图更多地了解它.
这是被问到的一个例子.
•当用户单击"保存"按钮时,将所选记录写入txtFilePath中指定的文件(绝对路径不相对),而不截断当前内部的值.
这就是我的意思,
private void button2_Click(object sender, EventArgs e)
{
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
StreamWriter myWriter = new StreamWriter(saveFileDialog1.FileName);
myWriter.Write(txtFilePath.Text);
myWriter.Close();
}
}
Run Code Online (Sandbox Code Playgroud)
现在,我不明白我是否做得对.我知道当我将它保存到我的桌面并从列表框中删除它时,当我再次尝试重新加载时,没有任何显示.这就是我的表格,
private void button1_Click(object sender, EventArgs e)
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
StreamReader myReader = new StreamReader(openFileDialog1.FileName);
txtFilePath.Text = openFileDialog1.FileName;
txtFilePath.Text = myReader.ReadToEnd();
myReader.Close();
}
}
Run Code Online (Sandbox Code Playgroud)
这是负载,
private void Form1_Load(object sender, EventArgs e)
{
string[] myFiles = Directory.GetFiles("C:\\");
foreach (string filename in myFiles)
{
FileInfo file = new FileInfo(filename);
employeeList.Items.Add(file.Name);
}
//...
Run Code Online (Sandbox Code Playgroud)
有人可以帮我理解这个吗?