命令提示符返回空白,但python控制台没有

2024-06-12 15:11:17 发布

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

对不起,如果标题有点混乱,我不知道该怎么说。我是一个学习python的初学者,我正在学习一门语言学课程,我在将一些脚本传输到命令提示符时遇到了一些问题。如果有帮助的话,我使用的是Windows8.1和Python3.6.0。在

我的问题是我可以在python.exe程序,它将完全按照它应该的方式工作。然后我将使用命令提示符运行完全相同的脚本,它返回的唯一结果是一个空行。在

例如,我可以在python控制台中手动键入以下内容并获得正确的输出:

>>>print("hello")
hello

但是如果我把它保存在一个记事本++文件中,并使用命令提示符执行相同的脚本,它将如下所示(请原谅我的屠宰路径再创造):

^{pr2}$

“的”py你好“是我试图运行的脚本,它与我在Python控制台中手动输入的代码完全相同,但是当我试图打开该文件时,它什么也不做。在

不过,并不是每一个我尝试运行的脚本都会发生这种情况,我也不知道是什么触发了这种情况。我没有犯任何错误,所以我不知道如何经历反复试验。这使得在添加元素时检查我的工作变得越来越困难,而且我不确定如何修复这个问题。如果有人有建议,我会非常感谢你的帮助。在


Tags: 文件程序脚本标题hello键入方式情况
1条回答
网友
1楼 · 发布于 2024-06-12 15:11:17

仅使用脚本名从Windows命令行运行Python脚本

配置Windows文件关联指针

Set the python.exe full explicit path as in the below #3 for the correct value where this is on your system

  1. 打开高架桥[命令提示符]作为管理员的命令提示符
  2. 输入ASSOC .py=PythonScript并按回车
  3. 输入FTYPE PythonScript="C:\Program Files\Python\python.exe" "%1" %*并按回车
  4. 输入SET PATHEXT=.py;%PATHEXT%并按回车

仅使用脚本名从Shell执行

如果确实需要从命令行运行脚本,而不告诉shell python脚本文件的完整显式路径,那么需要将脚本所在的路径添加到%PATH%环境变量中。在

  1. 打开高架桥[命令提示符]作为管理员的命令提示符
  2. 输入SET PATH=%PATH%;C:\Program Files\Python,其中C:\Program Files\Python是系统中存在的值。在

现在,您只需输入带有或不带文件扩展名的脚本名,而无需对另一个目录执行CD操作,也无需显式指定python脚本的完整路径。在


更多资源

  • Windows Environment Variables

  • FTYPE /?

    Displays or modifies file types used in file extension associations
    
    FTYPE [fileType[=[openCommandString]]]
    
      fileType  Specifies the file type to examine or change
      openCommandString Specifies the open command to use when launching files
                        of this type.
    
    Type FTYPE without parameters to display the current file types that
    have open command strings defined.  FTYPE is invoked with just a file
    type, it displays the current open command string for that file type.
    Specify nothing for the open command string and the FTYPE command will
    delete the open command string for the file type.  Within an open
    command string %0 or %1 are substituted with the file name being
    launched through the assocation.  %* gets all the parameters and %2
    gets the 1st parameter, %3 the second, etc.  %~n gets all the remaining
    parameters starting with the nth parameter, where n may be between 2 and 9,
    inclusive.  For example:
    
        ASSOC .pl=PerlScript
        FTYPE PerlScript=perl.exe %1 %*
    
    would allow you to invoke a Perl script as follows:
    
        script.pl 1 2 3
    
    If you want to eliminate the need to type the extensions, then do the
    following:
    
        set PATHEXT=.pl;%PATHEXT%
    
    and the script could be invoked as follows:
    
        script 1 2 3
    
  • ASSOC /?

    Displays or modifies file extension associations
    
    ASSOC [.ext[=[fileType]]]
    
      .ext      Specifies the file extension to associate the file type with
      fileType  Specifies the file type to associate with the file extension
    
    Type ASSOC without parameters to display the current file associations.
    If ASSOC is invoked with just a file extension, it displays the current
    file association for that file extension.  Specify nothing for the file
    type and the command will delete the association for the file extension.
    

相关问题 更多 >