Windows“没有这样的文件或目录”

2024-06-01 00:44:10 发布

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

我试图从Python代码运行bash脚本。我在如下子进程中调用脚本:

preprocessed = subprocess.check_output([
    'bash',
    '../Paraphrase_Demo/models/processing_utils/preprocess_data_givenBPE.sh',
    phrase, src_lang, tgt_lang, this_dir
])

以下是脚本预处理数据_givenbbe.sh公司公司名称:

^{pr2}$

当我运行Python程序时,我得到以下输出:

Can't open perl script "C:/Users/Administrator/source/repos/Paraphrasing/Paraphrase_Demo/models/processing_utils/tiny-moses/normalize-punctuation.perl": No such file or directory
Can't open perl script "C:/Users/Administrator/source/repos/Paraphrasing/Paraphrase_Demo/models/processing_utils/tiny-moses/remove-non-printing-char.perl": No such file or directory
Can't open perl script "C:/Users/Administrator/source/repos/Paraphrasing/Paraphrase_Demo/models/processing_utils/tiny-moses/tokenizer.perl": No such file or directory
python3: can't open file 'C:/Users/Administrator/source/repos/Paraphrasing/Paraphrase_Demo/models/zhen/tools/subword-nmt/subword_nmt/apply_bpe.py': [Errno 2] No such file or directory

我已经将这些路径复制并粘贴到powershell中,ls'以验证它们是否正确,但它仍然说找不到它们。这是怎么回事?如果我直接运行bash脚本,也会发生这种情况。在

编辑:我尝试在路径中使用反斜杠,但收到了相同的错误。我还发现了这篇文章:Bash: cannot execute a perl script using an absolute path?,所以我尝试使用Bash脚本目录中的相对路径,但它仍然显示“没有这样的文件或目录”


Tags: 脚本sourcedemomodelsscriptutilsopenusers
1条回答
网友
1楼 · 发布于 2024-06-01 00:44:10

经过大量的调试,我发现了这个问题。如果我在powershell中ls它们,那么我列出的路径就存在了,但是在powershell中输入bash并不仅仅打开一个bashshell,它实际上改变了目录结构。我认为这可能与Linux的Windows子系统有关,但是结果是C:一旦进入bashshell,就会变成{}。在我所有的路径中替换这个,我可以运行我的脚本。在

相关问题 更多 >