假设我有一个名为 file.py 的 python 文件。通常要从命令行运行这个文件,我会这样做:
python path\to\file\file.py
Run Code Online (Sandbox Code Playgroud)
我的问题是,是否可以在没有python文件路径之前执行此操作,如下所示:
path\to\file\file.py
Run Code Online (Sandbox Code Playgroud)
或者,如果我的环境变量中有 file.py 的路径,只需:
file.py
Run Code Online (Sandbox Code Playgroud)
我想值得注意的是,我想用一个将接受命令行参数的 python 文件来做到这一点。谢谢 :)
我写了一个 Tkinter GUI 战舰游戏应用程序,我正在尝试将其转换为 .app 文件,以便我可以在 Mac OS X 计算机上轻松运行它。在cd使用主 .py 文件和所有子文件(三个其他 python 文件、一个 json 文件和一个图标文件)进入目录后,我正在执行以下命令:
pyinstaller --onefile --windowed --icon favicon.icns --name Battleship battleship.py
Run Code Online (Sandbox Code Playgroud)
这会在“dist”文件夹中生成两个文件:Battleship和Battleship.app. 在Battleship.app具有在上述命令中指定的图标I。
当我运行非 .app 文件(通过双击它)时,会打开一个终端窗口,我的 Tkinter GUI 会打开并且可以正常工作(从我所做的小测试中)。但是,我只想打开 GUI,而没有终端。
据说这也是生成 .app 文件的目的。但是,当我运行 .app 文件(通过双击它)时,它的图标只会在屏幕底部的应用程序栏中弹跳几次,然后消失。没有打开实际窗口。
当我双击 .app 文件时,我如何做到这一点,我的应用程序的 GUI 实际打开(没有终端窗口)?
提前致谢。
注意:我使用的是 Python 3.5.1
如果我有一个A用作指针的结构类型(仅具有指针接收器,构造函数返回等),那么嵌入结构类型与嵌入结构类型*A有什么区别?BB*B
也就是说,有什么区别
type B struct {...}
type A struct {
B
// ...
}
Run Code Online (Sandbox Code Playgroud)
和
type B struct {...}
type A struct {
*B
// ...
}
Run Code Online (Sandbox Code Playgroud)
例如,是否存在嵌入字段的复制?
编辑:我还应该提到嵌入式结构B只有指针接收器。
在Bjarne Stroustrup的“ A C ++之旅”(第二版)的第18页上,他指出“对于几乎所有类型,读取或写入未初始化变量的效果都是不确定的”。
我了解为什么从未初始化的变量读取是未定义的行为,但是为什么写入未初始化的变量却未定义的行为?我肯定会丢失一些东西,因为否则执行类似的操作int x;是完全无用的,因为您不能在未触发未定义行为的情况下读取或写入x(即不能对进行任何操作x)(假设int这是适用于“几乎所有类型”的一种)。
python ×2
.app ×1
c++ ×1
command-line ×1
go ×1
macos ×1
pycharm ×1
pyinstaller ×1
python-2.7 ×1
struct ×1
tkinter ×1
windows ×1