Python的操作系统路径C语言中的等效库#

2024-05-19 20:12:10 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一个二进制代码,代码是ae/a/b/C/xyz.exe文件它期望/a/b/c/你好.txt在同一个目录中。我怎样才能得到/a/b/c/你好.txt在完全路径上?在

在python中,我可以用os.path.abspath(sys.argv[0])获取正在运行的程序的路径,使用dirname()可以获得目录信息,还可以使用join()来获得新的完整路径。在

import sys
from os.path import *
newName = join(dirname(abspath(sys.arg[0]), "hello.txt")

C怎么能做同样的事情?在


Tags: path代码import路径目录txtossys
2条回答

您可以使用Environment.CurrentDirectoryEnvironment.GetCommandLineArgs和{a3}中的类执行相同的操作。您的代码将转换为:

// using System.IO;

string newPath = Path.Combine(
               Path.GetDirectoryName(
                     Path.GetFullPath(Environment.GetCommandLineArgs[0])
               ), "hello.txt");

但是,如果当前目录在调用之前已更改,则此操作将失败。(在python中也是这样…)最好使用以下方法:

^{pr2}$

使用Application.StartupPath

参见:http://msdn.microsoft.com/en-us/library/system.windows.forms.application.startuppath(v=vs.71).aspx

如果程序启动后更改了当前目录,则获取当前目录将失败。在

相关问题 更多 >