Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python不会在安装的驱动器上创建文件_Python_Python 3.x_Bash_Aix - Fatal编程技术网

Python不会在安装的驱动器上创建文件

Python不会在安装的驱动器上创建文件,python,python-3.x,bash,aix,Python,Python 3.x,Bash,Aix,我编写了一个python代码,如: #!/usr/bin/python import os import sys f=open("/inform/app/Informatica/10.1.0/server/infa_shared/TgtFiles/bank_statements/statement/guru99.txt","w+") 我尝试在装载的驱动器上创建文件(在AIX上) …我得到了一个错误: OSError: [Errno 22] Invalid argument: '/inform/

我编写了一个python代码,如:

#!/usr/bin/python
import os
import sys
f=open("/inform/app/Informatica/10.1.0/server/infa_shared/TgtFiles/bank_statements/statement/guru99.txt","w+")
我尝试在装载的驱动器上创建文件(在AIX上)

…我得到了一个错误:

OSError: [Errno 22] Invalid argument: '/inform/app/Informatica/10.1.0/server/infa_shared/TgtFiles/bank_statements/statement/guru99.txt'
本地路径的相同代码正常工作

我在bash安装的驱动器上创建文件,没有任何问题

是df:

[inform@xxx/inform ] $ df
Filesystem    512-blocks      Free %Used    Iused %Iused Mounted on
/dev/hd10opt     1966080    380432   81%    15329    24% /opt
/dev/livedump      65536     64864    2%        4     1% /var/adm/ras/livedump
/dev/informlv 1257766912 662083576   48%   425081     1% /inform
clsfs038:/Bank_statements  2576863224 393165352   85%        0     0% /inform/app/Informatica/10.1.0/server/infa_shared/TgtFiles/bank_statements
对文件夹的权限:

[inform@xxx /inform/app/Informatica/10.1.0/server/infa_shared/TgtFiles/bank_statements ] $ ls -la
total 184
drwxrwxr-x    1 inform   inform        16384 Dec 19 16:44 .
drwxr-xr-x   19 inform   inform        32768 Dec 18 17:16 ..
drwxrwxr-x    1 inform   inform        16384 Dec 19 14:08 load
drwxrwxr-x    1 inform   inform        16384 Dec 19 10:37 statement
-rwxrwxr-x    1 inform   inform            0 Nov 22 12:26 testfile
-rwxrwxr-x    1 inform   inform            0 Dec 18 13:06 testfile2
安装:

[inform@xxx /inform/app/Informatica/10.1.0/server/infa_shared/TgtFiles/bank_statements ] $ mount
  node       mounted        mounted over    vfs       date        options
-------- ---------------  ---------------  ------ ------------ ---------------
         /dev/hd4         /                jfs2   Aug 26 17:39 rw,log=/dev/hd8
         /dev/hd2         /usr             jfs2   Aug 26 17:39 rw,log=/dev/hd8
         /dev/hd9var      /var             jfs2   Aug 26 17:39 rw,log=/dev/hd8
         /dev/hd3         /tmp             jfs2   Aug 26 17:40 rw,log=/dev/hd8
         /dev/hd1         /home            jfs2   Aug 26 17:40 rw,log=/dev/hd8
         /dev/hd11admin   /admin           jfs2   Aug 26 17:40 rw,log=/dev/hd8
         /proc            /proc            procfs Aug 26 17:40 rw
         /dev/hd10opt     /opt             jfs2   Aug 26 17:40 rw,log=/dev/hd8
         /dev/livedump    /var/adm/ras/livedump jfs2   Aug 26 17:40 rw,log=/dev/hd8
         /dev/informlv    /inform          jfs2   Aug 26 17:40 rw,log=INLINE
         /dev/zabbixapplv /opt/zabbixapp   jfs2   Aug 26 17:40 rw,log=INLINE
clsfs042 /sap_employee    /inform/app/Informatica/10.1.0/server/infa_shared/SrcFiles/SAP cifs   Aug 26 17:40 rw,uid=482,gid=482,fmode=775,wrkgrp=RCCF,noprompt
clsfs042 /Applications    /inform/app/Informatica/10.1.0/server/infa_shared/TgtFiles/Popcorn/Informatica cifs   Aug 26 17:40 rw,uid=482,gid=482,fmode=775,wrkgrp=RCCF,noprompt
clsfs041 /AFS             /inform/app/Informatica/10.1.0/server/infa_shared/TgtFiles/afs cifs   Aug 26 17:40 rw,uid=482,gid=482,fmode=775,wrkgrp=RCCF,noprompt
clsfs038 /DetOtchet       /inform/app/Informatica/10.1.0/server/infa_shared/SrcFiles/CB_PORTF cifs   Aug 26 17:40 rw,uid=482,gid=482,fmode=775,wrkgrp=RCCF,noprompt
clsfs038 /BALANS          /inform/app/Informatica/10.1.0/server/infa_shared/TgtFiles/BALANS cifs   Aug 26 17:40 rw,uid=482,gid=482,fmode=775,wrkgrp=RCCF,noprompt
clsfs040 /Workgroups      /inform/app/Informatica/10.1.0/server/infa_shared/TgtFiles/Metodologiya cifs   Aug 26 17:40 rw,uid=482,gid=482,fmode=775,wrkgrp=RCCF,noprompt
clsfs038 /Workgroups3     /inform/app/Informatica/10.1.0/server/infa_shared/TgtFiles/ALM_REPORT cifs   Aug 26 17:40 rw,uid=482,gid=482,fmode=775,wrkgrp=RCCF,noprompt
clsfs042 /Applications    /inform/app/Informatica/10.1.0/server/infa_shared/SrcFiles/rccf_applications cifs   Nov 12 12:20 rw,uid=482,gid=482,fmode=775,wrkgrp=RCCF
clsfs038 /Bank_statements /inform/app/Informatica/10.1.0/server/infa_shared/TgtFiles/bank_statements cifs   Nov 22 12:27 rw,uid=482,gid=482,fmode=775,wrkgrp=RCCF
命令结果(stackoverflow询问了我更多细节,没有此文本,我无法用此代码编辑我的帖子):

(请帮帮我)

问候,,
Alex

您能粘贴以下脚本的结果吗?以防万一它能帮你找到什么

#!/usr/bin/python
import os

file_name = "/inform/app/Informatica/10.1.0/server/infa_shared/TgtFiles/bank_statements/statement/guru99.txt"

dirs = file_name.split("/")

for i in range(len(dirs)):
    dir_to_check = "/".join(dirs[:i+1])
    print(dir_to_check + " " + str(os.path.exists(dir_to_check)))
    print(dir_to_check + " READ " + str(os.access(dir_to_check, os.R_OK)))
    print(dir_to_check + " WRITE " + str(os.access(dir_to_check, os.W_OK)))    

如果您在此过程中拼错了一个目录,则会发现errno似乎暗示该路径不存在。您能从命令行验证您可以使用该路径访问该文件吗?如果可以,也可能是权限问题。另外,它看起来像是安装的驱动器是/BANKYORE语句,但是在您的路径中我看不到这一点。考虑在LimeMeo命令LimeORE上的复制和粘贴文件夹名的Ls有关:我不确定我在那里看到的输出是什么。/Bank_对账单是本地挂载点,下一列是远程文件夹吗?如果是这样,您的路径应该是:
/Bank\u statements/guru99.txt
strace(1)
可能会有帮助:运行
strace-f/usr/bin/python yourscipt.py 2>debug.log
然后检查文件
debug.log
将其粘贴到主帖子上。该输出不会显示任何层次结构或权限问题。如果使用相对路径(即仅文件名)而不是完整路径,并从目录/inform/app/Informatica/10.1.0/server/infa_shared/TgtFiles/bank_语句/statement运行脚本,会怎么样/
[inform@xxx /inform/app/Informatica/10.1.0/server/infa_shared/Scripts/STATEMENT ] $ /inform/app/Informatica/10.1.0/server/infa_shared/Scripts/STATEMENT/test/stack.py
 False
 READ False
 WRITE False
/inform True
/inform READ True
/inform WRITE True
/inform/app True
/inform/app READ True
/inform/app WRITE True
/inform/app/Informatica True
/inform/app/Informatica READ True
/inform/app/Informatica WRITE True
/inform/app/Informatica/10.1.0 True
/inform/app/Informatica/10.1.0 READ True
/inform/app/Informatica/10.1.0 WRITE True
/inform/app/Informatica/10.1.0/server True
/inform/app/Informatica/10.1.0/server READ True
/inform/app/Informatica/10.1.0/server WRITE True
/inform/app/Informatica/10.1.0/server/infa_shared True
/inform/app/Informatica/10.1.0/server/infa_shared READ True
/inform/app/Informatica/10.1.0/server/infa_shared WRITE True
/inform/app/Informatica/10.1.0/server/infa_shared/TgtFiles True
/inform/app/Informatica/10.1.0/server/infa_shared/TgtFiles READ True
/inform/app/Informatica/10.1.0/server/infa_shared/TgtFiles WRITE True
/inform/app/Informatica/10.1.0/server/infa_shared/TgtFiles/bank_statements True
/inform/app/Informatica/10.1.0/server/infa_shared/TgtFiles/bank_statements READ True
/inform/app/Informatica/10.1.0/server/infa_shared/TgtFiles/bank_statements WRITE True
/inform/app/Informatica/10.1.0/server/infa_shared/TgtFiles/bank_statements/statement True
/inform/app/Informatica/10.1.0/server/infa_shared/TgtFiles/bank_statements/statement READ True
/inform/app/Informatica/10.1.0/server/infa_shared/TgtFiles/bank_statements/statement WRITE True
/inform/app/Informatica/10.1.0/server/infa_shared/TgtFiles/bank_statements/statement/guru99.txt False
/inform/app/Informatica/10.1.0/server/infa_shared/TgtFiles/bank_statements/statement/guru99.txt READ False
/inform/app/Informatica/10.1.0/server/infa_shared/TgtFiles/bank_statements/statement/guru99.txt WRITE False
#!/usr/bin/python
import os

file_name = "/inform/app/Informatica/10.1.0/server/infa_shared/TgtFiles/bank_statements/statement/guru99.txt"

dirs = file_name.split("/")

for i in range(len(dirs)):
    dir_to_check = "/".join(dirs[:i+1])
    print(dir_to_check + " " + str(os.path.exists(dir_to_check)))
    print(dir_to_check + " READ " + str(os.access(dir_to_check, os.R_OK)))
    print(dir_to_check + " WRITE " + str(os.access(dir_to_check, os.W_OK)))