Discuss / Python / 我的出错了++大神们给看看啊

我的出错了++大神们给看看啊

Topic source

久疤_796

#1 Created at ... [Delete] [Delete and Lock User]

我的电脑是win7x64的系统 安装的是Python3.4.3

这是hello.py模块

!/usr/bin/env python3

-- coding: utf-8 --

'just a test'

author = 'HZF'

import sys

def test(): args = sys.argv if len(args)==1: print('Hello world!') elif len(args)==2: print('Hello %s!' % args[1]) else: print('Too many arguments:')

if name=='main': test()

直接按F5运行可以 在shell中 通过import形式是可以的,但是如何传入另一个参数我不知道

import hello hello.test() Hello world!

通过python或者python3直接调用模块却不行

python hello.py Michael SyntaxError: invalid syntax

python3 hello.py Michael SyntaxError: invalid syntax

没有出现老师的现象 我还是初学者,大神们给个答案啊~

久疤_796

#2 Created at ... [Delete] [Delete and Lock User]

目前shell工作在hello.py目录下

>>>import os
>>> os.listdir()
['bat.bat', 'hello.py', 'learning.py', '__init__.py', '__pycache__', '使用模块.py']

这个都是正常的,可能是我有的地方没有理解到,期待大家的回复+_+

久疤_796

#3 Created at ... [Delete] [Delete and Lock User]

已解决

K:\mySetupDir\work\Python3-4\workSpace\mycompany2>python hello.py
Hello world!
K:\mySetupDir\work\Python3-4\workSpace\mycompany2>python hello.py hzf
Hello hzf!
K:\mySetupDir\work\Python3-4\workSpace\mycompany2>python hello.py hzf QQ
Too many arguments:

之前没有理解到,应该是直接运行windows的CMD 通过CMD命令切换到自己的py模块所在目录 再输入 python hello.py (其它参数) 就可以了

但是,为什么在shell中直接输入hello.py就不行呢?

在编辑好py模块后,按F5就会通过shell打印结果,并且工作目录设置在该py模块目录下,就不用再去切换目录,这时 在shell中

>>> import os
>>> os.system('python hello.py')

会有一闪而过的黑框,不知道该怎么保持它 可以通过os.popen结合print来干事

>>> print(os.popen('python hello.py').read())
Hello world!

当然,如果调试的次数很多,还是建议用CMD切换到该模块下来进行

久疤_796

#4 Created at ... [Delete] [Delete and Lock User]

如果在该py模块目录中加入pause.bat程序

@echo off
%1 %2 %3 %4 %5 %6 %7 %8 %9
pause
@如果不想要“按任意键继续”的提示
@就改为pause>>null

在shell中

>>> import os
>>> os.system('pause.bat python hello.py QQ')
1

但是会弹出CMD窗口

Hello QQ!
请按任意键继续. . .

这样的话,应该就好多了


  • 1

Reply