【问题标题】:Python Command Line Argument sys.argv not workingPython 命令行参数 sys.argv 不起作用
【发布时间】:2015-11-25 04:58:11
【问题描述】:

为了能够从命令行运行程序,我在使用 sys.argv 时遇到了一些问题。我正在运行 IDLE 3.5。我尝试通过命令提示符和 Python(3.5) 命令行运行下面的程序。在这两个上我都收到一个错误:

在 Python(3.5) 中:

>>> python testing.py
  File "<stdin>", line 1
    python testing.py
                 ^
SyntaxError: invalid syntax
>>>

在命令提示符中:

C:\Users\Brice_000>python testing.py
python: can't open file 'testing.py': [Errno 2] No such file or directory

testing.py 内容如下:

import sys

def main():
    print sys.argv


if __name__ == "__main__":
main(sys.argv)

我看过的教程显示,这个 python 文件,当从命令行执行时,将只返回程序的名称“testing.py”

我怀疑文件目录存在某种问题,当命令行尝试打开文件时,它不存在。

有谁知道我该如何找出问题所在?如果是这样,我该如何纠正?

很抱歉,如果我的问题格式不正确。我是 python 和 stackoverflow 的新手,我还不知道自己在做什么。

目录的输出:

C:\Users\Brice_000>dir
 Volume in drive C has no label.
 Volume Serial Number is 60E5-73E9

 Directory of C:\Users\Brice_000

11/01/2015  04:45 PM    <DIR>          .
11/01/2015  04:45 PM    <DIR>          ..
11/01/2015  04:47 PM    <DIR>          .gimp-2.8
11/01/2015  05:07 PM    <DIR>          .idlerc
06/21/2015  09:20 PM    <DIR>          .jagex_cache_32
08/23/2015  08:00 PM    <DIR>          .oracle_jre_usage
01/11/2013  03:59 PM    <DIR>          .swt
11/01/2015  04:45 PM    <DIR>          .thumbnails
09/15/2015  10:12 PM    <DIR>          3D Objects
10/14/2015  08:48 AM    <DIR>          Contacts
08/29/2015  04:28 PM    <DIR>          Creative Cloud Files
11/16/2015  05:08 PM    <DIR>          Desktop
11/20/2015  11:32 PM    <DIR>          Documents
11/24/2015  02:26 PM    <DIR>          Downloads
04/08/2013  10:26 PM    <DIR>          Dropbox
01/12/2013  01:16 PM    <DIR>          dumps
10/14/2015  08:48 AM    <DIR>          Favorites
06/21/2015  09:37 PM                23 jagexappletviewer.preferences
02/26/2013  06:31 PM    <DIR>          jagexcache
06/21/2015  09:21 PM    <DIR>          jagexcache1
02/19/2013  07:45 PM                50 jagex_cl_loginapplet_LIVE.dat
05/13/2014  10:34 PM                48 jagex_cl_oldschool_LIVE.dat
06/21/2015  09:21 PM                48 jagex_cl_runescape_LIVE.dat
06/21/2015  09:21 PM                49 jagex_cl_runescape_LIVE1.dat
10/14/2015  08:48 AM    <DIR>          Links
10/20/2015  05:30 AM    <DIR>          Music
11/05/2015  12:42 AM    <DIR>          OneDrive
10/28/2015  08:50 PM    <DIR>          Pictures
06/22/2015  12:32 AM                24 random.dat
10/14/2015  08:48 AM    <DIR>          Saved Games
10/14/2015  08:48 AM    <DIR>          Searches
08/04/2015  08:35 PM    <DIR>          SkyDrive
02/25/2014  03:54 AM    <DIR>          SkyDrive (2).old
04/07/2014  01:55 PM    <DIR>          SkyDrive (3).old
02/16/2014  02:50 PM    <DIR>          SkyDrive.old
03/12/2015  08:15 PM    <DIR>          Tracing
10/14/2015  08:48 AM    <DIR>          Videos
               6 File(s)            242 bytes
              31 Dir(s)  49,005,813,760 bytes free

【问题讨论】:

  • 您需要在命令行而不是在 Python 解释器中运行 python filename.py。当你尝试这样做时,你确定你在正确的目录中吗?
  • 我以为我是?我正在使用 Python 3.5(命令行 - 32 位)
  • 不是当你得到SyntaxError 你不是!
  • C:\Users\Brice_000&gt; 中时,向我们展示dir 命令的输出
  • 好吧,我一定是做错了。我将如何访问命令行?我在 Windows 10,IDLE 3.5

标签: python command-line-arguments


【解决方案1】:

看起来你是从 python 解释器运行的。

您需要在命令行上运行它(OS X 上的终端,Windows 上的命令提示符?)。

# terminal or command prompt!
python testing.py

这意味着你告诉 Python 执行 testing.py 脚本。

【讨论】:

  • 沃巴沃巴!我正在使用 Python 3.5(命令行 - 32 位),这是不正确的吗?
  • 你在所谓的 Python shell 中。这意味着 Python 将评估您提供的每个命令,而不是一个将脚本委托给 python 运行的 shell。你在 IDLE 吗?
  • IDLE 提供了一个 Python 的交互式解释器。您已经在运行 python,因此尝试再次运行它没有意义,尤其是因为它无法识别它。转到命令提示符,切换到文件目录,然后调用python testing.py,它应该会运行。
  • 你能说得更具体点吗?我实际上不明白我在编辑什么以及我将它编辑到什么。
  • @BricePetty testing.py 所在的目录是什么?复制它,打开命令提示符,输入cd 'your directory',然后在下一行输入python testing.py
猜你喜欢
  • 2014-12-08
  • 2011-06-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-27
  • 2012-11-28
  • 2017-06-19
  • 2013-06-05
相关资源
最近更新 更多