微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从python调用拷贝时,系统找不到指定的文件

这是我的copy.py:

from subprocess import call call("copy p2.txt p3.txt")

如果在命令提示符下使用

copy p2.txt p3.txt它复制罚款。

但是当我使用python copy.py它给了我:

代码文件删除所有空白的最简单的方法是什么?

为什么在Windows上调用MinGW编译函数(不加载库)时会得到UnsatisfiedLinkError?

Windows 10的通用应用程序,抛出exception:app.exe中的“System.UnauthorizedAccessException”,同时访问我的设备的信息?

以编程方式调整Windows 7计算机上的音量

C ++:在Windows上与高级subprocess进行通信

Traceback (most recent call last): File "copy.py",line 2,in <module> call("copy p2.txt p3.txt") File "C:Python27libsubprocess.py",line 493,in call return Popen(*popenargs,**kwargs).wait() File "C:Python27libsubprocess.py",line 679,in __init__ errread,errwrite) File "C:Python27libsubprocess.py",line 896,in _execute_child startupinfo) WindowsError: [Error 2] The system cannot find the file specified

如果我把python调用replace成xcopy,它可以正常工作。

为什么会这样?

Python脚本作为一个安全的EXE,甚至可能是一个Windowsapp store?

打开Windows C#WPF

VC#表单闪烁

在Windows上构build期间,Eclipse CDT超过了32k CreateProcess限制

任何机会访问原始像素,无论在Windows / Linux上的屏幕分辨率

当像subprocess.call()这样的shell命令,你也需要指定shell=True 。

from subprocess import call call("copy p2.txt p3.txt",shell=True)

在这种情况下,您需要使用shell=True的原因是,Windows中的copy命令实际上不是可执行文件,而是shell的内置命令(如果内存正常运行)。 另一方面, xcopy是一个真正的可执行文件(在%WINDIR%system32 ,通常在%PATH% ),因此可以在cmd.exe外部调用它。

在这个特定的例子中, shutil.copy或shutil.copy2可能是可行的选择。

请注意,使用shell=True可能会导致安全隐患,或者如文档所述:

警告:使用shell=True可能是安全隐患。 有关详细信息,请参阅常用参数下的警告。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐