对于想了解仅运行一个python程序的读者,本文将是一篇不可错过的文章,我们将详细介绍如Firefox?,并且为您提供关于002-第一个python程序、3.第一个Python程序、Python/Se
对于想了解仅运行一个python程序的读者,本文将是一篇不可错过的文章,我们将详细介绍如Firefox?,并且为您提供关于002-第一个python程序、3.第一个Python程序、Python / Selenium / Firefox:无法使用指定的配置文件路径启动Firefox、Python Selenium Firefox:使用 Firefox 配置文件时无法打开多个选项卡的有价值信息。
本文目录一览:- 仅运行一个python程序(如Firefox)?(python只运行一段代码)
- 002-第一个python程序
- 3.第一个Python程序
- Python / Selenium / Firefox:无法使用指定的配置文件路径启动Firefox
- Python Selenium Firefox:使用 Firefox 配置文件时无法打开多个选项卡
仅运行一个python程序(如Firefox)?(python只运行一段代码)
当我打开Firefox时,然后运行以下命令:
firefox http://somewebsite
网址会在Firefox的新标签页中打开(Chromium也是如此)。有什么方法可以在Python中复制此行为?例如,调用:
processStuff.py file/url
然后致电:
processStuff.py anotherfile
不应启动两个不同的进程,而应向当前正在运行的程序 发送一条消息 。例如,您可以在一个选项卡式对话框中拥有信息,而不是10个单个窗口。
为任何能够描述Firefox / Chromium 如何 以跨平台方式做到这一点的人提供奖励。
002-第一个python程序
第一个python程序
命令行模式:
Windows→开始→运行→cmd→确认进入命令行模式,它的提示符是”C:\>"
python交互模式:
在命令行模式敲“python”,就可以进入python交互模式,它的提示符是“>>>"
在python交互模式下输入“exit()"后回车,就可以退出交互模式,并回到命令行模式。
另一种进入方式:开始菜单选择”python(connand line)"菜单,直接进入,但是敲“exit()"后会直接关闭,并不会回到命令行模式。
开始写代码了:
tips:尽可能的不要复制粘贴,前期还是手敲会比较好,因为会遇到各种在未来需要注意的问题。
1、在交互模式下python可以计算出任何有效的数学计算,例如:1234678900*7654321等等
2、如果想要python打印出指定的文字,可以用”print()"函数,然后把希望打印的文字用引号括起来,注意单、双引号不能混用。例如:print("hello world!'')
这种引号引起来的部分叫字符串,最后,输入“exit()"退出python吧,很遗憾没有保存下来啊,下次运行还需要在输入一遍。
tips:这里就可以用sublime等编程文本工具喽:https://my.oschina.net/hare1925/blog/3030994
命令行模式和交互模式
在命令行模式,输入python进入交互模式,也可以执行python hello.py运行一个.py文件。
注意:运行.py文件只能在命令行模式执行。
在执行.py的时候提示错误 no such file or directory 说明 hello.py这个文件没有在当前路径下,需要cd到hello.py同一路径下才能执行。
另外,在命令行运行.py文件和在交互环境下直接运行代码有所不同,交互模式会把每一行代码的结果都打印出来,但直接运行却不会。
命令行模式直接运行只是输出结果,例如:写一个.py文件内容为:”100+200+300“,在命令行模式执行,什么都不会输出,这是正常的,因为如果想要打印,我们需要用到打印函数:print()。把文件改为:”print(100+200+300)"再在命令行模式执行,就会得到600的结果。
最后,python交互模式是代码输入一行,执行一行,而命令行模式是直接运行.py文件是一次性执行文件内所有代码。
可见,python交互模式主要是为了调试python代码用的,也便于初学者学习,它不是运行python代码的环境。
在python交互模式下输入2**10为什么会得到1024?
因为在python中两个*代表的是幂运算,大幂幂运算,2的10次方当然是1024喽。
使用文本编辑器
在python交互命令写程序,好处是一下就可以得到结果,坏处是没办法保存,所以师级开发的时候,我们就需要一个文本编辑器来写代码了。
推荐:sublime、notepad++两款
绝对不能用word和Windows自带的记事本,word保存的不是纯文本,记事本在文件开始的地方多几个特殊字符(UTF-8 BOM)
输入print的时候,print前面不要有空格,
保存文件的时候一定要保存成后缀为“.py”格式的文件(文件名只能以英文字母、数字、下划线组合)
运行文件的时候,确保命令行所处路径与文件保存路径一直,不一致就要cd过去。
在windows中不可以直接像执行.exe文件一样执行.py文件,必须要通过命令行才可以。
在mac和linux上是可以但是需要以下条件:
1、在文件内容第一行加注释(#!/usr/bin/env python3)
2、通过命令给文件执行权限(chmod a+x XXX.py)
输入和输出
输出
print()函数,()内可以加入想要打印在屏幕上的字符串,字符串需要用引号引起来。输入多个字符串的时候需要用逗号隔开,逗号会执行为空格。
print也可以打印整数或者计算结果。例如:print(''100 + 200 = '' 100+200)这样输出的结果会更加的漂亮。这里引号里面是字符串会直接打印出来,后面的会打印执行结果。
输出
name = input()
这行代码按下回车后,python会等待你输入内容,并把内容赋值给变量name,所以再执行name的时候,就会打印出刚刚输入的内容。
input(''please enter your name'')这段代码会打印出这句话,然后等待输入结果,注意这里也是有‘’(引号)的。
输入是input,输出是output,因此,我们把输入输出统称为input/output,或简写为IO。
input()和output()是命令行下面最基本的输入输出,但是用户也可以通过其他更高级的图形界面完成输入和输出,比如,在网页上的一个文本框输入自己的名字,点击“确定”后再网页上看到输出信息。
野兔
2019.4.1
3.第一个Python程序
在正式编写第一个Python程序前,我们先复习一下什么是命令行模式和Python交互模式。
命令行模式
在Windows开始菜单选择“命令提示符”,就进入到命令行模式,它的提示符类似C:\>
:
┌────────────────────────────────────────────────────────┐
│Command Prompt - □ x │
├────────────────────────────────────────────────────────┤
│Microsoft Windows [Version 10.0.0] │
│(c) 2015 Microsoft Corporation. All rights reserved. │
│ │
│C:\> _ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
└────────────────────────────────────────────────────────┘
Python交互模式
在命令行模式下敲命令python
,就看到类似如下的一堆文本输出,然后就进入到Python交互模式,它的提示符是>>>
。
┌────────────────────────────────────────────────────────┐
│Command Prompt - python - □ x │
├────────────────────────────────────────────────────────┤
│Microsoft Windows [Version 10.0.0] │
│(c) 2015 Microsoft Corporation. All rights reserved. │
│ │
│C:\> python │
│Python 3.6 ... on win32 │
│Type "help", ... for more information. │
│>>> _ │
│ │
│ │
│ │
│ │
└────────────────────────────────────────────────────────┘
在Python交互模式下输入exit()
并回车,就退出了Python交互模式,并回到命令行模式:
┌────────────────────────────────────────────────────────┐
│Command Prompt - □ x │
├────────────────────────────────────────────────────────┤
│Microsoft Windows [Version 10.0.0] │
│(c) 2015 Microsoft Corporation. All rights reserved. │
│ │
│C:\> python │
│Python 3.6 ... on win32 │
│Type "help", ... for more information. │
│>>> exit() │
│ │
│C:\> _ │
│ │
│ │
└────────────────────────────────────────────────────────┘
也可以直接通过开始菜单选择Python (command line)
菜单项,直接进入Python交互模式,但是输入exit()
后窗口会直接关闭,不会回到命令行模式。
了解了如何启动和退出Python的交互模式,我们就可以正式开始编写Python代码了。
在写代码之前,请千万不要用“复制”-“粘贴”把代码从页面粘贴到你自己的电脑上。写程序也讲究一个感觉,你需要一个字母一个字母地把代码自己敲进去,在敲代码的过程中,初学者经常会敲错代码:拼写不对,大小写不对,混用中英文标点,混用空格和Tab键,所以,你需要仔细地检查、对照,才能以最快的速度掌握如何写程序。
在交互模式的提示符>>>
下,直接输入代码,按回车,就可以立刻得到代码执行结果。现在,试试输入100+200
,看看计算结果是不是300:
>>> 100+200
300
很简单吧,任何有效的数学计算都可以算出来。
如果要让Python打印出指定的文字,可以用print()
函数,然后把希望打印的文字用单引号或者双引号括起来,但不能混用单引号和双引号:
>>> print(''hello, world'')
hello, world
这种用单引号或者双引号括起来的文本在程序中叫字符串,今后我们还会经常遇到。
最后,用exit()
退出Python,我们的第一个Python程序完成!唯一的缺憾是没有保存下来,下次运行时还要再输入一遍代码。
视频演示:
命令行模式和Python交互模式
请注意区分命令行模式和Python交互模式。
在命令行模式下,可以执行python
进入Python交互式环境,也可以执行python hello.py
运行一个.py
文件。
执行一个.py
文件只能在命令行模式执行。如果敲一个命令python hello.py
,看到如下错误:
┌────────────────────────────────────────────────────────┐
│Command Prompt _ □ x │
├────────────────────────────────────────────────────────┤
│Microsoft Windows [Version 10.0.0] │
│(c) 2015 Microsoft Corporation. All rights reserved. │
│ │
│C:\> python hello.py │
│python: can''t open file ''hello.py'': [Errno 2] No such │
│file or directory │
│ │
│ │
│ │
│ │
│ │
└────────────────────────────────────────────────────────┘
错误提示No such file or directory
说明这个hello.py
在当前目录找不到,必须先把当前目录切换到hello.py
所在的目录下,才能正常执行:
┌────────────────────────────────────────────────────────┐
│Command Prompt _ □ x │
├────────────────────────────────────────────────────────┤
│Microsoft Windows [Version 10.0.0] │
│(c) 2015 Microsoft Corporation. All rights reserved. │
│ │
│C:\> cd work │
│ │
│C:\work> python hello.py │
│Hello, world! │
│ │
│ │
│ │
│ │
└────────────────────────────────────────────────────────┘
此外,在命令行模式运行.py
文件和在Python交互式环境下直接运行Python代码有所不同。Python交互式环境会把每一行Python代码的结果自动打印出来,但是,直接运行Python代码却不会。
例如,在Python交互式环境下,输入:
>>> 100 + 200 + 300
600
直接可以看到结果600
。
但是,写一个calc.py
的文件,内容如下:
100 + 200 + 300
然后在命令行模式下执行:
C:\work>python calc.py
发现什么输出都没有。
这是正常的。想要输出结果,必须自己用print()
打印出来。把calc.py
改造一下:
print(100 + 200 + 300)
再执行,就可以看到结果:
C:\work>python calc.py
600
最后,Python交互模式的代码是输入一行,执行一行,而命令行模式下直接运行.py
文件是一次性执行该文件内的所有代码。可见,Python交互模式主要是为了调试Python代码用的,也便于初学者学习,它不是正式运行Python代码的环境!
小结
在Python交互式模式下,可以直接输入代码,然后执行,并立刻得到结果。
在命令行模式下,可以直接运行.py
文件。
感觉本站内容不错,读后有收获?
我要小额赞助,鼓励作者写出更好的教程
还可以分享给朋友
分享到微博
Python / Selenium / Firefox:无法使用指定的配置文件路径启动Firefox
我尝试使用指定的配置文件启动Firefox:
firefox_profile = webdriver.FirefoxProfile(''/Users/p2mbot/projects/test/firefox_profile'')driver = webdriver.Firefox(firefox_profile=firefox_profile)driver.get(''http://google.com'')time.sleep(60)driver.quit()
/Users/p2mbot/projects/test/firefox_profile
-这个目录是正确的Firefox配置文件目录,我用firefox-bin --ProfileManager
但是当我通过selenium检查firefox中的about:cache页面时,它具有不同的缓存路径:
Storage disk location: /var/folders/jj/rdpd1ww53n95y5vx8w618k3h0000gq/T/tmpp2ahq70_/webdriver-py-profilecopy/cache2
如果通过firefox-bin –ProfileManager运行firefox并选择配置文件,它将显示在about:cache页面正确路径中/Users/p2mbot/projects/test/firefox_profile
为什么WebDriver忽略了Firefox的配置文件路径?使用铬不会有这样的问题。
答案1
小编典典我花了大约2个小时(是的,我太慢了)猜测为什么不起作用。我发现了为什么个人资料不保存回去。
当然,传递给FirefoxProfile("myprofile/full/path")
它的配置文件是在运行时使用的,但是它并没有保存回去,因为(也许不是很明显)硒用于测试,并且测试应该在没有缓存,没有任何配置文件,尽可能干净的情况下运行。
配置文件功能(可能)是为了允许在运行测试之前安装某些扩展名和设置而创建的,而不是为了保存它们。
诀窍是打印出来print driver.firefox_profile.path
。它与通常的确有所不同,其名称为 tmp / tmpOEs2RR /
webdriver-py-profilecopy,而 不仅仅是 tmp / tmpOEs2RR / ,因此请阅读您应该猜测的配置文件。
现在,剩下的唯一事情就是找回它:)
运行此脚本,安装内容,编辑内容,然后再次运行;):
#!/usr/bin/env python#! -*- coding: utf-8 -*-import seleniumfrom selenium import webdriverimport os, sys, time# 1- set profileprofile = os.path.dirname(sys.argv[0]) + "/selenita"fp = webdriver.FirefoxProfile(profile)driver = webdriver.Firefox(firefox_profile=fp)# 2- get tmp file locationprofiletmp = driver.firefox_profile.path# but... the current profile is a copy of the original profile :/print "running profile " + profiletmpdriver.get("http://httpbin.org")time.sleep(2)raw_input("Press a key when finish doing things") # I''ve installed an extension# 3- then save backprint "saving profile " + profiletmp + " to " + profileif os.system("cp -R " + profiletmp + "/* " + profile ): print "files should be copied :/"driver.quit()sys.exit(0)
您可以遵循该架构,也可以根据需要简单地编辑FirefoxProfilea。
Python Selenium Firefox:使用 Firefox 配置文件时无法打开多个选项卡
删除 firefox 配置文件,它工作正常,您正在调用一个空配置文件,因此您不需要那个
driver = webdriver.Firefox(capabilities=firefox_capabilities,firefox_binary=binary,options=options,executable_path='C:\\WebDriver\\bin\\geckodriver.exe')
如果您想将其与配置文件一起使用,请使用:
firefox_capabilities = webdriver.DesiredCapabilities.FIREFOX
firefox_capabilities['marionette'] = True
fp = webdriver.FirefoxProfile()
fp.DEFAULT_PREFERENCES["frozen"]["browser.link.open_newwindow"] = 3
今天关于仅运行一个python程序和如Firefox?的分享就到这里,希望大家有所收获,若想了解更多关于002-第一个python程序、3.第一个Python程序、Python / Selenium / Firefox:无法使用指定的配置文件路径启动Firefox、Python Selenium Firefox:使用 Firefox 配置文件时无法打开多个选项卡等相关知识,可以在本站进行查询。
本文标签: