Pet*_*lan 5 tkinter pep8 python-3.x
我在这里可能遗漏了一些明显的东西,但搜索 google/so 并没有提供任何有用的东西。
我正在编写一个 python 脚本,利用tkinter'sfiledialog.askopenfilename打开文件选择器。在没有详细介绍的情况下,我有以下行,它用于将文件选择器带到屏幕的前面(直接取自这个有用的答案):
os.system('''/usr/bin/osascript -e 'tell app "Finder" to set frontmost of process "Python" to true' ''')
Run Code Online (Sandbox Code Playgroud)
从上面的代码片段中可以看出,这一行对于 pep8 指南来说太长了,我想将其分解。
然而,尽管我尽了最大的努力,但我似乎无法让它分裂。这是由于(我认为)该行同时包含单引号和双引号,不幸的是 os.system 似乎坚持将其作为单行。
我试过了
\在+每行的末尾和开头)如果相关:使用 OSX 并运行 python 3.6.4。
打破这条线的正确(理想情况下,是最小的)方法是什么?
使用经过大幅改进的subprocess模块通常是调用外部可执行文件的更好、更强大且更安全的方法。
当然,您\n也可以将变量作为参数传递。
注意,双精度(())是因为第一个参数是一个元组。
import subprocess
subprocess.call((
'/usr/bin/osascript',
'-e',
'tell app "Finder" to set frontmost of process "Python" to true',
))
Run Code Online (Sandbox Code Playgroud)
有时有理由通过 shell 进行调用,但通常不会。
https://docs.python.org/3.6/library/subprocess.html
| 归档时间: |
|
| 查看次数: |
4436 次 |
| 最近记录: |