我有以下内容:
ModuleFolder
|
|-->. ModuleFile.py .
|
'-->. TestsFolder .
|
'---> UnitTest1.py
Run Code Online (Sandbox Code Playgroud)
我正在尝试从父目录导入.在这种情况下,我试图从测试文件夹运行"UnitTest1.py",并从它上面的目录(文件"ModuleFile.py")导入.
from .. import *但我特意尝试这样做,import MyModuleName因此我可以在单元测试中更明确,并避免名称的错误/冲突.我在做什么(它对我有用)如下:
sys.path.append("../")
Run Code Online (Sandbox Code Playgroud)
然后从父目录导入我需要的内容.
sys.path?因为它是相对的.如果我从/ home/workspace/MyModule/unittests /运行并且我的模块在/ home/workspace/MyModule /下我假设如果同事运行这个,那么添加/ home/workspace/MyModule /到路径不一定是真的在他自己的/ home/documents/MyModule目录下的机器上.我的问题:
这是Python适当的吗?如果没有,这有什么问题.有没有更好的办法?或者这是一个真正的RTFM时刻,答案是我已经看过的7个以上SO问题之一?(我看到那些都推荐显式路径而不是我采用的相对路径方法).
其他有用的信息:
我是C#/ Unity的新手(温柔) - 我正在尝试创建自己的脚本,向Inspector添加一个公共变量,这样我就可以让一个脚本适用于多个GameObjects(或者我认为).
脚本非常简单.
它适用于PC,但它不适用于Android.
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.EventSystems;
public class BtnLoadScene : MonoBehaviour {
public Object SceneObj;
private string SceneName;
public void LoadLevel()
{
SceneName = SceneObj.name;
Debug.Log (SceneName);
SceneManager.LoadScene(SceneName);
}
}
Run Code Online (Sandbox Code Playgroud)
我将此脚本作为组件附加到驱动场景加载的所有按钮(在整个应用程序中).同样,这里的值是我可以将我的"场景"从assets文件夹拖到检查器/组件中(因此我不必显式管理"整数"或"字符串" - 它将全部通过对象引用).
再次,这适用于PC UPDATE:根据评论中的建议,我在独立播放器中尝试了这个并且它失败了.这仅适用于Unity编辑器.当我为Android构建时(是的它编译并且我可以安装APK)它不起作用 - 第一个场景加载,按钮响应我的触摸,我看到它"压下",但亚行抛出:
12-23 15:37:27.028 14816 14847 I Unity : NullReferenceException: Object reference not set to an instance of an object
12-23 15:37:27.028 14816 14847 I Unity : at BtnLoadScene.LoadLevel () [0x00000] in <filename unknown>:0
12-23 15:37:27.028 14816 …Run Code Online (Sandbox Code Playgroud) 我正在尝试制作自己的网格(看起来非常像这样:http: //tinyurl.com/cdyre6k-以公制单位为毫米的心电图纸).
我正在使用ReportLab/Python(opensource)来制作这些报告.下面是我的代码片段.
在屏幕上,它看起来很棒!:

然而,当我将它发送到打印机时(是的,我也用打印机设置修改)它会打印一些线条,而不是其他线条(有时它是有条不紊的并且打印出图案式格子图案,有时则是更粗/更细的线条;请记住,打印机的输出是一致的,取决于我设置的笔画宽度.
我尝试了各种笔画宽度组合,以及各种打印机设置组合...我无法正确打印!我尝试了另一种打印机并获得了更好的结果,但我必须将打印机设置设置为超过1200 dpi(CAD级别打印).另一台打印机设置为600dpi.在那台相同的打印机(600dpi)上,我打印了一个由前同事制作的文件,打印就好了(请注意,他没有使用ReportLab,所以我不能使用他的代码/解决方案).
到底是怎么回事?这是打印机上的别名问题吗?如果我将网格转换为位图(或其他格式),它会对我有帮助吗?我该如何解决这个问题(我唯一的选择是使用Python和ReportLab)?ReportLab手册没有帮助,"谷歌"没有帮助,而以前的StackExchange问题似乎没有涵盖这一特定主题.如果我将笔画宽度设置为"1",我可以让网格打印所有行,但是后面的网格线太粗了.
最终结果是我正在处理的折线图,我知道ReportLab有图表功能,但reportlabs图表/网格功能不能给我我的项目所需,所以我被迫让我拥有主要/次要线的自己的网格(也许我错过了一些东西,并开放替代技术,但目前它看起来很好的PDF形式,只是不在打印机).
任何建议表示赞赏!
TIA,
-J
for i in decimal_range(0, _time, 1):
if (i % 5.0 == 0):
if (i % 25.0 == 0):
grid_pattern.add(shapes.Line(_temp_x,
(_temp_y + _height_of_box),
_temp_x,
(_temp_y + _height_of_box+4),
strokeWidth=1,
strokeColor=colors.black))
else:
pass
grid_pattern.add(shapes.Line(_temp_x, _temp_y, _temp_x,
(_temp_y + _height_of_box),
strokeWidth=.12,
strokeColor=colors.pink))
else:
grid_pattern.add(shapes.Line(_temp_x, _temp_y, _temp_x,
(_temp_y + _height_of_box),
strokeWidth=.12,
strokeColor=colors.pink))
_temp_x += 1 * mm
_temp_x = xorigin
for i in range(0, _mv, 1):
if (i …Run Code Online (Sandbox Code Playgroud) 我无法正常工作(很明显) - 我几乎就在那里,我很清楚为什么它不起作用 - 只是不知道如何让它工作.
这是假设尝试将文件读入内存,如果失败则转到代码块的"except"子句(该部分为'duh').错误文件打印:"< main .DebugOutput instance in 0x04021EB8>".我想要它做的是打印实际的错误.像FileIOError或TraceBackError或该错误文件的任何内容.这只是开始阶段,我计划添加日期戳等内容并将其附加,而不是写入/创建 - 我只需要将实际错误打印到文件中.建议吗?
import os, sys
try:
myPidFile = "Zeznadata.txt"
myOpenPID_File = open(myPidFile, "r") #Attempts to open the file
print "Sucessfully opened the file: \"" + myPidFile + "\"."
except:
print "This file, \"" + myPidFile + "\", does not exist. Please check the file name and try again. "
myFileErr = open("PIDErrorlog.txt", "w")
myStdError = str(sys.stderr)
myFileErr.write(myStdError)
myFileErr.close()
print "\nThis error was logged in the file (and stored in …Run Code Online (Sandbox Code Playgroud) 我的python ide坏了吗?
import sys
i = 0
sample = ("this", "is", "Annoying!")
for line in sample:
print i, line
i + 1
Run Code Online (Sandbox Code Playgroud)
现在给我......
0 this 0 is 0 Annoying!
我想,它会给我:
1 this 2 is 3 Annoying
我有其他正在处理的脚本,而且它们都破坏了 - 当他们使用for语句打印大量迭代时,它们都具有相同的行号 - 有人可以告诉我发生了什么 - 非常沮丧大声笑.. Python打破了吗?我需要睡觉吗?这有什么不对?