可能重复:
如何在C中查找可执行文件的位置
我正在使用GTK +在C++中编写一个多平台应用程序,我遇到了问题.我必须得到程序路径.例如,当节目在/home/user/program(或C:\Users\user\program.exe)时,我有/home/user/(或C:\Users\user\).
可以以及如何做到这一点?
在Java中,在定义浮点变量之间是否有任何区别,例如,这个:1和这个:1f?JVM是否在我写入时在运行时进行任何强制转换1,或者可能会减慢我的应用程序的速度?
问候
我有一个JPEG图像的ByteArrayOutputStream表示(虽然我可以使用GIF或PNG,如果这样可以更好地工作).我想在表单上显示它,例如在标签或图像对象中.我受限于这样一个事实:我无法将图像写入文件,我只能将其存储在内存中.
我用的是Guava库.
有没有办法在每个值中使用Multimap?
例如,Multimap中的值为1 = [stack],2 = [over,flow],3 = [com].如果Multimap名称为map且key为2,map.get("2")则会出现[over,flow].
我想只获得"流动".它可以吗?
我有自己的Auth User模型,该模型继承自PermissionsMixin。当我访问django-admin页面以获取该模型的任何实例时,我都会得到很多数据库查询(因为我有很多权限)。问题出在这里,django / contrib / auth / models.py:
class Permission(models.Model):
[...]
def __str__(self):
return "%s | %s | %s" % (
six.text_type(self.content_type.app_label),
six.text_type(self.content_type),
six.text_type(self.name))
Run Code Online (Sandbox Code Playgroud)
每次在管理页面上显示权限时,都会查询其content_type。
问题是:我可以确保针对涉及我的Auth User模型的每个查询,特别是对于那些不是来自我的代码的查询(例如django admin)都将针对权限及其content_types运行prefetch_related吗?
我在Python(3.4)中使用Unicode代理编码存在问题:
>>> b'\xCC'.decode('utf-16_be', 'surrogateescape').encode('utf-16_be', 'surrogateescape')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'utf-16-be' codec can't encode character '\udccc' in position 0: surrogates not allowed
Run Code Online (Sandbox Code Playgroud)
如果我没记错的话,根据Python文档:
'surrogateescape':在解码时,将字节替换为范围从U + DC80到U + DCFF的各个替代代码。当在编码数据时使用“ surrogateescape”错误处理程序时,该代码将被转换回相同的字节。
该代码应仅产生源序列(b'\xCC')。那么为什么要引发异常呢?
这可能与我的第二个问题有关:
在版本3.4中进行了更改:utf-16 *和utf-32 *编码器不再允许对替代代码点(U + D800–U + DFFF)进行编码。
(来自https://docs.python.org/3/library/codecs.html#standard-encodings)
据我所知,没有代理对就不可能将某些代码点编码为UTF-16。那么,这背后的原因是什么呢?
请考虑以下脚本:
import sys
class A:
def __init__(self):
print('Constructing A')
print(sys.argv)
print(sys.meta_path)
print(sys.float_info)
def __del__(self):
print('Destructing A')
print(sys.argv)
print(sys.meta_path)
print(sys.float_info)
x = A()
Run Code Online (Sandbox Code Playgroud)
我期望从运行这个代码将打印相同sys.argv的__init__()和__del__()阶级的A。但是,输出与预期不同:
Constructing A
['test.py']
[<class '_frozen_importlib.BuiltinImporter'>, ...]
sys.float_info(max=1.7976931348623157e+308, ...)
Destructing A
None
None
sys.float_info(max=1.7976931348623157e+308, ...)
Run Code Online (Sandbox Code Playgroud)
我的问题:为什么会这样?它是一个实现细节CPython的设置sys.argv,以None在关机,或者是它的文档中描述的地方?为什么 Python(显式地或通过 GC)首先从sys(likeargv或meta_path) 中删除一些对象,同时保留其他对象 (like float_info)?
我在 GNU/Linux 上使用 CPython 3.8.5。