标签: filepath

在Python中编写文件路径的首选方法是什么

当用 python 编写文件路径时,我看到了几种编写语法的变体,我很好奇是否只有一种首选方法:示例是:

myFile= r"C:\My Documents\test\hello.txt"
myFile = "C:\\My Documents\\test\\hello.txt"
myFile = "C:/My Documents/test/hello.txt"
Run Code Online (Sandbox Code Playgroud)

如果有人可以提供一些指导,我们将不胜感激。哦,仅供参考,我编写Python的技能水平是新手。

python formatting filepath

0
推荐指数
1
解决办法
1122
查看次数

批处理文件 %-dp0 不起作用

我现在正在处理一个批处理文件。

它需要调用 VBS 和 REG,因此我使用 %-dp0 变量来获取文件夹路径。然而,它似乎给了我相当于 system32 路径。

这里的问题是什么?是否有类似的问题?

这是我的代码:

cd %-dp0
cscript.exe VBS.vbs
cscript.exe VBS2.vbs
goto :eof
Run Code Online (Sandbox Code Playgroud)

和:

cd %-dp0
regedit.exe Regedit.reg
goto :eof
Run Code Online (Sandbox Code Playgroud)

它返回类似这样的内容:

找不到 C:\WINDOWS\system32\VBS.vbs

batch-file filepath

0
推荐指数
1
解决办法
4441
查看次数

使用多个命令的列表理解

我正在为文件列表创建输出文件。在例程结束时,我想获取输出文件名的列表,我可以使用下面的 for 块来实现该列表。有没有一种干净的方法可以使用列表理解来做这样的事情,或者现在不是理解的好时机?

import os

names = []
for file in f_list:
    base, ext = os.path.splitext(file)
    names.append(f"{base}_env{ext}")
Run Code Online (Sandbox Code Playgroud)

下面的代码有效,但如果我无法摆脱 os.path.splitext 的重复调用,我对此并不感到兴奋。

[f"{os.path.splitext(file)[0]}_env{os.path.splitext(file)[1]}" for file in list]

python list-comprehension filepath

0
推荐指数
1
解决办法
274
查看次数

Python反斜杠不会消失

我是python尝试使用python打开文件的新手:

phys = "C:\\parsework\\glckpysdata.txt"
print phys
d = open(phys)
Run Code Online (Sandbox Code Playgroud)

当我跑步时,我得到:

C:\parsework\glckpysdata.txt
Traceback (most recent call last):
  File "C:\py\boxtest2.py", line 28, in <module>
    d = open(phys)
IOError: [Errno 2] No such file or directory: 'C:\\parsework\\glckpysdata.txt'
Run Code Online (Sandbox Code Playgroud)

我觉得我已经尝试了所有东西(phys = r"C:\ parsework\glckpysdata.txt",直接进入带双引号和单引号/反斜杠等的open命令......)似乎没有什么能阻止它读取路径带有双反斜杠.关于这个最令人沮丧的事情我在同一个脚本中有完全相同的语法,它在那里工作得很好:

thisguy = "C:\\parsework\\glckout\\"
thisguy += nam
g = open(thisguy)
Run Code Online (Sandbox Code Playgroud)

是在相同的脚本,工作正常.有人能告诉我发生了什么事吗?

python filepath backslash

-1
推荐指数
1
解决办法
2184
查看次数

如何以文件(字符串)路径格式给出原始文件夹的路径

你好,我需要提供我的应用程序原始文件夹中的 pdf 文件的路径,即(R.raw.input.pdf)

请查看我的主要 java 文件,并请帮我提供原始文件夹的路径

public class MainBrowserActivity extends Activity {
    private Button btnPDF;
    public Scanner scan;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        btnPDF = (Button) findViewById(R.id.btnOpenPDF);

        btnPDF.setOnClickListener(new OnClickListener() {

            public void onClick(View v) {   
                Resources res = getResources();
                scan = new Scanner(res.openRawResource(R.raw.input));

                String uri = "android.resource://" + getPackageName() + "/"+R.raw.input;

                System.out.println("FIle Path is" + uri);


                    final Intent intent = new Intent();
                    intent.setAction(android.content.Intent.ACTION_VIEW);
                    intent.setDataAndType(Uri.parse(uri), "pdf/*");
                    intent.setClass(MainBrowserActivity.this,PdfViewerActivity.class);
                    startActivity(intent); 




                     }
            });

      }
   }
Run Code Online (Sandbox Code Playgroud)

pdf android file filepath

-1
推荐指数
1
解决办法
2万
查看次数

为什么不在文件路径中使用bash转义空格或荣誉引号?

我在我的路径中将以下脚本保存为"lspkg":

#!/bin/bash
args=("$@")

for item in ${args[@]}; do
    echo "$item"
done
Run Code Online (Sandbox Code Playgroud)

当我运行时lspkg /absolute/path/to/file,它按预期工作,打印路径.但是,以下行为给我带来了很多麻烦:

转义路径中的空格并没有真正逃离空间:

$ lspkg /absolute/path/to/file\ with\ spaces
/absolute/path/to/file\
with\
spaces
Run Code Online (Sandbox Code Playgroud)

将路径放在引号中不会使bash将其视为单个字符串:

$ lspkg "/absolute/path/to/file with spaces"
"/absolute/path/to/file
with
spaces"
Run Code Online (Sandbox Code Playgroud)

为什么会这样,这个问题怎么解决?

bash whitespace filepath

-1
推荐指数
1
解决办法
73
查看次数

两条路径之间的Perl差异

如何获得2条路径之间的差异?

我们使用$ src变量作为基本路径定义,我们将修改后的列表添加到FilesList.txt中.

$src = "C:\\Users\\Desktop\\Perl\\Index"
$_ = "C:\Users\Desktop\Perl\Index\CC\Login.jsp";
Run Code Online (Sandbox Code Playgroud)

现在,我们如何获得"CC\Login.jsp"值,我正在使用下面的代码,但我们没有得到预期的输出.请帮忙.

$src="C:\\Users\\Desktop\\Perl\\Index";
open IN, "FilesList.txt";  
while(<IN>)
{
    chomp($_);
    $final=$_;
    $final =~ s/\$src//;
    print "\nSubvalue is ---$final \n";
}
Run Code Online (Sandbox Code Playgroud)

windows perl relative-path filepath

-1
推荐指数
1
解决办法
75
查看次数

如何链接Angular中的内部文件?

我正在尝试从导航栏链接我的登录页面.这就是我对navbar的看法:

<div class="navbar-container">
  <ul id="slide-out" class="side-nav center-align">
    <li>
      <div class="user-view center-align">
        <a><i class="medium material-icons close-button">close</i></a>
      </div>
    <li><a routerLink="../login">Login</a></li>
  </ul>
  <a href="#" data-activates="slide-out" class="button-collapse"><i class="small material-icons {{updateMe()}}">filter_list</i></a>
</div>
Run Code Online (Sandbox Code Playgroud)

这是我的文件结构:

文件结构

但是,它只是没有链接到组件.我得到的错误是:

core.js:1542 ERROR错误:未捕获(在承诺中):错误:无法匹配任何路由.网址细分:'登录'

我使用相对路径错了吗?我怎样才能解决这个问题?谢谢!

html filepath angular2-routing routerlink angular

-1
推荐指数
1
解决办法
77
查看次数

String.Replace()不适用于"|"

在我当前的项目中,我想动态设置connectionString.我"|DataDirectory|"从默认设置中获取带有占位符()的字符串,然后我想用实际路径替换该占位符.

我的代码:

connectionString = Properties.Settings.Default.KDatabaseConnectionString;
connectionString.Replace(@"|DataDirectory|", Application.StartupPath);
Run Code Online (Sandbox Code Playgroud)

我不能让它工作,它什么都不做.当我在dubug模式下运行代码时,我可以看到连接字符串包含" |DataDirectory|",但它不会替换它.

我在这里看到很多关于string.replace()不起作用的问题,但没有关于我的问题.所以任何人都有想法?

编辑:好的,谢谢.这样一个不好的新手错误.

c# replace filepath visual-studio

-2
推荐指数
1
解决办法
92
查看次数

无法从文件路径中删除双斜杠

我有一个应该播放音乐文件的子.我可以轻松找到MyDocuments.我甚至可以使用Path.Combine来连接字符串的其余部分.

完整路径应如下所示:

......文档\ JUKEBOX \迈克尔·杰克逊\ 01.wav

但我得到的是双斜线而不是单斜线

private static void playChoice(string band, int choice)
    {
        var myDocs = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
        string filename = "0" + choice;
        string[] paths = { myDocs, "JukeBox", band, filename, ".wav" };
        var fullPath = Path.Combine(@paths);
        var player = new System.Media.SoundPlayer(fullPath);
        player.Play();
    }
Run Code Online (Sandbox Code Playgroud)

A)如何删除双斜杠,因为我的逐字说明符不起作用B)代码看起来很糟糕 - 是否有更好的方法 - 或者是否有人链接到有用的文献

c# filepath verbatim-string

-2
推荐指数
1
解决办法
652
查看次数

"找不到路径的一部分"C:\ Users\username\abc\abc.exe.config

configFilePath = @"C:\ Users \"+ userName + @"\ abc\abc.exe.config";
if(File.Exists(configFilePath))
{
StreamReader fileReader = new StreamReader(configFilePath);
}

上面的行抛出"找不到路径的一部分"异常.在特定计算机中发生此错误.在所有其他机器中它工作正常.即使在那台机器中,相同的代码也可以使用.机器没有变化.我已经阅读了讨论过这个问题的所有论坛.但无法弄清楚为什么这种情况会在单独的机器中发生,现在也是如此.有权访问文件夹和文件.

c# streamreader filepath

-3
推荐指数
1
解决办法
7432
查看次数

c ++:逐行读取文件

我想知道是否有一种C++方式打开文件并逐行读取输入.

我遇到了以下代码来完成任务:

#include <iostream>
#include <fstream>
using namespace std;

int main () {
  ifstream myfile;
  myfile.open ("example.txt");
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

我鼓励不要使用任何C函数或命令.

问题是,我的"example.txt"是一个字符串的形式,并使用str.c_str()是一个C函数,所以我想我有两种方法来解决这个问题.

有没有其他方法可以逐行读取文件中的输入?也许使用一些接受字符串作为文件路径参数的东西?有没有C++的做事方式?:)

或者,是否有另一种方法将字符串转换为const char*,这是myfile.open()函数需要的?

提前谢谢了!

编辑:我缺乏实​​践和研究使我认为c_str()是一个C函数,而事实并非如此.我很抱歉.既然不是我找到了答案.

c++ file-io filepath

-4
推荐指数
1
解决办法
1077
查看次数