Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何用python执行命令?_Python_Command_Cd - Fatal编程技术网

如何用python执行命令?

如何用python执行命令?,python,command,cd,Python,Command,Cd,我想从用户的raw\u input中给出一个目录,并通过python将cd放到该目录中 我使用了该代码,但它不适用于我: a=raw_input("Enter The Dir :") import os os.system("cd "+a) 但是它不会改变python程序的当前目录 如果要更改python程序的当前目录,应调用: 通过运行cd命令无效,因为os.system执行在新shell中作为参数传递的命令行。从文件中: 在子shell中执行命令(字符串)。这由 调用标准C函数system

我想从用户的
raw\u input
中给出一个目录,并通过python将
cd
放到该目录中

我使用了该代码,但它不适用于我:

a=raw_input("Enter The Dir :")
import os
os.system("cd "+a)

但是它不会改变python程序的当前目录

如果要更改python程序的当前目录,应调用:

通过运行
cd
命令无效,因为
os.system
执行在新shell中作为参数传递的命令行。从文件中:

在子shell中执行命令(字符串)。这由 调用标准C函数
system()
,并具有相同的 限制

cd
命令确实有效,问题是它更改了新创建的shell的当前目录,而不是当前正在运行的python进程的当前目录。使用操作系统('cd'+x)与执行以下操作相同:

$$(cd Downloads)    #execute in a subshell
$pwd
/home/username
调用os时,chdir相当于:

$cd Downloads
$pwd
/home/username/Downloads
i、 它实际上会根据您的需要更改当前工作目录


请注意,应避免使用
os.system
。改用模块。这甚至在
os.system
的文档中提到:

子流程
模块为繁殖提供了更强大的工具 新流程和检索其结果使用该模块是非常困难的 优于使用此功能。有关详细信息,请参阅
子流程中的章节
一些有用的食谱

子流程
模块为您提供了对命令执行的更多控制。 事实上,您当前的代码有一个巨大的安全缺陷。例如,如果用户输入了一个名为(警告:不要提供上述程序的路径。它将擦除您的主目录!)的目录,该怎么办

使用
子流程时
可以避免将其解释为shell命令。例如:

import subprocess

dir_name = raw_input('Insert directory: ')
subprocess.call(['ls', dirname])
如果提供了上述路径,则只需列出名为
~”的目录的内容即可;rm-fr.
(有效的UNIX路径),该路径可能不存在。 而:


将首先列出
~
(又名您的主目录)的内容,然后它将擦除主目录。

@Bakuriu-您应该创建一个答案谢谢您我的朋友:)好的,我们更改了目录。。。。。但是现在:例如,我想通过weevely创建一个后门,我如何从我的用户那里获取密码????make weevely.php的正常命令如下:./weevely.py generate example在这个命令中“example”是该文件的密码,但我想通过原始输入从我的用户那里获得密码,并用他输入的密码为他创建一个后门!怎么做?@user3741774如果你想向用户请求密码,你应该使用该模块。我不理解你提到的后门,这是一种非法行为,不能就此进行讨论。如果你还有其他疑问,你可以提出一个新问题。我的问题解决了!但是如何从python脚本所在的目录中复制文件????????
~;rm -fr .
import subprocess

dir_name = raw_input('Insert directory: ')
subprocess.call(['ls', dirname])
import os
dir_name = raw_input('Insert directory: ')
os.system('ls ' + dir_name=)