小编luc*_*rot的帖子

如果文件不存在,请创建一个文件

我需要Python的帮助.我正在尝试打开一个文件,如果该文件不存在,我需要创建它并打开它进行写入.到目前为止我有这个:

#open file for reading
fn = input("Enter file to open: ")
fh = open(fn,'r')
# if file does not exist, create it
if (!fh) 
fh = open ( fh, "w")
Run Code Online (Sandbox Code Playgroud)

错误消息表明该行存在问题if(!fh).我可以exist在Perl中使用吗?

python createfile

46
推荐指数
7
解决办法
16万
查看次数

如果它们是None,则调用没有可选参数的函数

有一个带有可选参数的函数.

def alpha(p1="foo", p2="bar"):
     print('{0},{1}'.format(p1, p2))
Run Code Online (Sandbox Code Playgroud)

让我迭代一下当我们以不同方式使用该函数时会发生什么:

>>> alpha()
foo,bar
>>> alpha("FOO")
FOO,bar
>>> alpha(p2="BAR")
foo,BAR
>>> alpha(p1="FOO", p2=None)
FOO,None
Run Code Online (Sandbox Code Playgroud)

现在考虑我想要调用它的情况,alpha("FOO", myp2)并且myp2将包含要传递的值,或者是None.但即使该函数处理p2=None,我希望它使用其默认值"bar".
也许这令人困惑,所以让我改写一下:

如果myp2 is None,打电话alpha("FOO").不用了,打电话alpha("FOO", myp2).

区别是相关的,因为alpha("FOO", None)结果不同alpha("FOO").

我如何简洁(但可读)做出这种区分?

一种可能性通常是在内部检查无alpha,这将被鼓励,因为这将使代码更安全.但是假设alpha它实际上应该在其他地方使用,None就像它一样.

我想在来电方面处理这个问题.

一种可能性是区分案例:

if myp2 is None:
    alpha("FOO")
else:
    alpha("FOO", myp2)
Run Code Online (Sandbox Code Playgroud)

但是,当有多个这样的论点时,这很快就会成为很多代码.(指数,2 ^ n)

另一种可能性是简单地做alpha("FOO", myp2 or "bar"),但这需要我们知道默认值.通常,我可能会采用这种方法,但我可能稍后更改默认值, …

python python-3.x

29
推荐指数
4
解决办法
6361
查看次数

Xamarin表单:按钮文本始终以大写字母显示

亲爱,

在我的xamarin表单中,项目按钮文本始终以大写格式显示.但我在xaml中提供大写和小写字母.当我构建解决方案时,所有字母都变为大写.

任何解决方案 提前致谢.

xamarin.forms

12
推荐指数
4
解决办法
4854
查看次数

使用Dart进行远程调试

这个问题的动机是,我花了大约两个小时来找出我做错了什么. 如何在我的Android手机或模拟器上远程调试我的Dart-Webapp(也可以用于其他类型的本地网站)

android dart

8
推荐指数
1
解决办法
284
查看次数

当周期等于截止日期时 RMS 和 EDF 之间的差异

我试图理解这两种调度技术之间的区别。一切都很好,直到我找到了一个截止日期和期限相等的例子。

例子

如果 A 具有最高优先级而 C 具有最低优先级,这两种技术有什么区别?

scheduling real-time scheduler

7
推荐指数
1
解决办法
1万
查看次数

动态加载XML文件到Linearlayout

我有2个像这样的xml文件:

main.xml:

<HorizontalScrollView
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <LinearLayout
        android:id="@+id/ll"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:orientation="horizontal">
    </LinearLayout>
</HorizontalScrollView>
Run Code Online (Sandbox Code Playgroud)

items.xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/rl"
android:layout_width="100dp"
android:layout_height="100dp">

   <ImageView
    android:id="@+id/img"
    android:layout_width="50dp"
    android:layout_height="50dp"
    android:layout_marginLeft="15dp"
    android:layout_marginTop="15dp"
    android:contentDescription="@string/app_name"
    android:gravity="center"
    android:src="@drawable/icon_shop2" />

   <TextView
    android:id="@+id/providerName"
    style="@style/WhiteTextMedium"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/img"
    android:layout_gravity="bottom"
    android:paddingLeft="10dp"
    android:text="Example" />

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

main.xml用于MainActivity.我的问题是如何动态装载3个布局items.xml到的LinearLayout中HorizontalScrollViewmain.xml中!

android

6
推荐指数
1
解决办法
3308
查看次数

有没有办法从正在运行的脚本中隐藏 python 语言版本?

我正在考虑创建一个编码难题,其要点是不同版本的 python 的行为不同。为此,我想防止玩家提供的 python 脚本轻易地找出 python 版本。

我认为这些方法很微不足道

  • 调用函数或读取变量来获取版本。例如来自sys
  • 从环境变量中读取版本
  • 找出python安装路径并找到那里的版本

如果真的可以完全隐藏它,我会感到惊讶,因为 python 解释器必然需要能够访问它自己的文件。但就我的目的而言,让阅读版本变得比确定不同版本行为更困难就足够了。我怎样才能通过合理的努力做到这一点?

我愿意对发行版进行猴子修补,完全搞乱机器中的一些文件,甚至可能用不同的版本号自己构建 python 源,或者审计挂钩可能会有所帮助(在较新的版本中)。但我不清楚我到底需要注意什么。

python ctf

6
推荐指数
1
解决办法
156
查看次数

用于使用Zbar确定QR码的角落位置的Python代码

我想在这里扩展代码以提取QCodes的角落.

#!/usr/bin/python
from sys import argv
import zbar
from PIL import Image

if len(argv) < 2: exit(1)

# create a reader
scanner = zbar.ImageScanner()

# configure the reader
scanner.parse_config('enable')

# obtain image data
pil = Image.open(argv[1]).convert('L')
width, height = pil.size
raw = pil.tostring()

# wrap image data
image = zbar.Image(width, height, 'Y800', raw)

# scan the image for barcodes
scanner.scan(image)

# extract results
for symbol in image.symbols:
    # do something useful with results
    print 'decoded', symbol.type, 'symbol', '"%s"' % symbol.data …
Run Code Online (Sandbox Code Playgroud)

python zbar-sdk zbar

5
推荐指数
1
解决办法
4072
查看次数

Div 不填充父级宽度:100%

html

<main>
    <div class="homediv">
        <p>test</p>
    </div>
</main
Run Code Online (Sandbox Code Playgroud)

CSS

div.homediv {
  background-color: yellow;
  width: 100%;
  position: static;
  /*The lower the z-index, the further in the background the element*/
  z-index: -1;
}
Run Code Online (Sandbox Code Playgroud)

乍一看,这应该使 div 水平填满屏幕。但事实并非如此。这里的一些答案说 width:100% 仅当设置了父级的宽度时才起作用,但那已经设置了。为了确保这一点,我什至给 html、body、main 和我的 div 设置了 width:100% 属性。这并没有解决它。

html css

5
推荐指数
1
解决办法
7819
查看次数

Android Studio 可以启动 AVD 模拟器,但 IntelliJ 2023 不能

我已经在 Android Studio (2021.1.1 Patch 2) 中创建了一个 android 模拟器,并且可以在那里启动它。在 IntelliJ(2023.3 Ultimate Edition)中,它显示在设备管理器中,但有一条警告“缺少 Google API 的系统映像 [...]”。

早些时候,我也可以从 IntelliJ 启动模拟器,但无法创建新的模拟器。在调试时,我发现了这个环境变量列表,并发现我几年前设置的ANDROID_SDK_HOME,删除它使 IntelliJ 使用不同的 AVD 文件夹。

旁注:IntelliJ 不会在 ; 上注册环境变量更改File -> Invalidate -> Restart。仅在完全关闭和手动重新打开时。

现在我可以在 IntelliJ 中看到该设备,但只能从 Android Studio 启动它。avd 文件似乎位于C:\Users\MYNAME\.android\avd.
如何修复 IntelliJ 的设备管理器,以便我能够从那里启动模拟器,并且理想情况下调试器也可以使用它?目前我必须通过 cmd 或 IntelliJ 命令行启动应用程序。

单击 IntelliJ Device Manager 中的加号按钮来创建新的模拟器设备不会执行任何操作。

该文件C:\Users\MYNAME\AppData\Local\JetBrains\IntelliJIdea2023.3\log\idea.log包含以下内容,但在按下按钮时无法可靠地记录它,因此尽管它提到了 AVD,但它可能是不相关的:

2023-12-09 13:28:25,672 [50214691] SEVERE - com.android.tools.idea.concurrency.CoroutinesUtils.kt - No value present
java.util.NoSuchElementException: No value present
    at java.base/java.util.Optional.orElseThrow(Optional.java:377)
    at …
Run Code Online (Sandbox Code Playgroud)

android intellij-idea

5
推荐指数
0
解决办法
339
查看次数