我正在使用var ERP = "yes";
var ERPDate = "2018";
var CRM = "no";
var CRMDate = "2019";
var IDSeq = 1;
var datasetlist = "";
var yesCount = 0
//count totalitems
if (ERP == "yes") {
yesCount = (yesCount + 1);
}
if (CRM == "yes") {
yesCount = (yesCount + 1);
}
//builddataset
if (ERP == "yes"){
if (yesCount == IDSeq) {
datasetlist = datasetlist + "{id: " + IDSeq + ", content: \'ERP\', start: \'" + ERPDate + "\'}";
} else {
datasetlist = datasetlist + "{id: " + IDSeq + ", content: \'ERP\', start: \'" + ERPDate + "\'},";
}
IDSeq = IDSeq +1
}
if (CRM == "yes"){
if (yesCount == IDSeq) {
datasetlist = datasetlist + "{id: " + IDSeq + ", content: \'CRM\', start: \'" + CRMDate + "\'}";
} else {
datasetlist = datasetlist + "{id: " + IDSeq + ", content: \'CRM\', start: \'" + CRMDate + "\'},";
}
}
//datasetlist = "{id: 1, content: 'ERP', start: '2018'}"
//window.alert(datasetlist);
// DOM element where the Timeline will be attached
var container = document.getElementById('visualization');
// Create a DataSet (allows two way data-binding)
var items = new vis.DataSet(datasetlist);
// Configuration for the Timeline
var options = {
height: '500px',
start: new Date(2015, 1, 15),
end: new Date(2025, 1, 15),
timeAxis: {scale: 'year', step: 1}
};
// Create a Timeline
var timeline = new vis.Timeline(container, items, options);
来读取文件。使用with open('myFile', 'rb') as file:
运行程序时一切正常。但是,一旦我尝试在没有python myProgram.py
的情况下运行它进入cd
目录并使用绝对路径(如myProgram.py
我总是收到此错误消息:python /home/myName/myCode/myProgram.py
那么为什么FileNotFoundError: [Errno 2] No such file or directory
的行为会有所不同,具体取决于Python程序的启动方式?即使以绝对路径开始,有没有办法使事情有效?
我已经尝试open()
但没有成功......
答案 0 :(得分:3)
那么为什么open()的行为会有所不同,具体取决于Python程序的启动方式?即使以绝对路径开始,有没有办法使事情有效?
因为这是标准行为。不仅适用于Python,还适用于所有应用程序(至少我所知道的所有应用程序)。假设相对路径(如'myfile')位于当前目录中。当您从shell启动脚本时,该路径将根据您所在的目录而改变。如果你没有提供绝对路径,那么Python将如何知道在这样的目录结构中使用哪个文件?
root
|-- dir1
| `-- myFile
`-- dir2
`-- myFile
您使用open('/home/myName/myCode/myfile', 'rb')
开启了正确的轨道。
答案 1 :(得分:0)
假设您运行pwd
并返回/home/myName
。如果您随后运行/home/myName/code/myProgram.py
,则程序的工作目录 not /home/myName/code
;它是/home/myName
。从父进程继承的进程的工作目录,不是根据脚本所在的位置设置的。