J'utilise le script python suivant pour créer un script shell:

with open("decode_JOURNAL2017.sh", "a") as myfile:
    levels_no = 16
    #myfile.write("#!/bin/bash\n")
    for x in range(0, levels_no):
        myfile.write("/home/zinonas/SHM-12.3/bin/TAppDecoderStatic -b /home/zinonas/str/pirkagia_10b_lowdelay_P.bin -olsidx "+str(x)+" -o"+str(x)+" /home/zinonas/decode/pirkagia_10b_lowdelay_P_level_"+str(x)+"_dec.yuv >> /home/zinonas/decode/pirkagia_10b_lowdelay_P_level_"+str(x)+"_dec.txt\n")

Ensuite, je transfère le script créé suivant vers un serveur ubuntu:

/home/zinonas/SHM-12.3/bin/TAppDecoderStatic -b /home/zinonas/str/pirkagia_10b_lowdelay_P.bin -olsidx 0 -o0 /home/zinonas/decode/pirkagia_10b_lowdelay_P_level_0_dec.yuv >> /home/zinonas/decode/pirkagia_10b_lowdelay_P_level_0_dec.txt
/home/zinonas/SHM-12.3/bin/TAppDecoderStatic -b /home/zinonas/str/pirkagia_10b_lowdelay_P.bin -olsidx 1 -o1 /home/zinonas/decode/pirkagia_10b_lowdelay_P_level_1_dec.yuv >> /home/zinonas/decode/pirkagia_10b_lowdelay_P_level_1_dec.txt
/home/zinonas/SHM-12.3/bin/TAppDecoderStatic -b /home/zinonas/str/pirkagia_10b_lowdelay_P.bin -olsidx 2 -o2 /home/zinonas/decode/pirkagia_10b_lowdelay_P_level_2_dec.yuv >> /home/zinonas/decode/pirkagia_10b_lowdelay_P_level_2_dec.txt

Lorsque je l'exécute, les fichiers txt sont créés mais lorsque je double-clique sur l'un pour l'ouvrir, j'obtiens ce message:

Can't create file 'C:\Users\admin\AppData\Local\Temp\scp43940\home\zinonas\decode\pirkagia_10b_lowdelay_P_level_0_dec.txt
'.
System Error.  Code: 123.
The filename, directory name, or volume label syntax is incorrect

Je ne peux même pas transférer ce fichier txt sur mon bureau Windows via winscp.

Les fichiers yuv fonctionnent correctement!

EDIT : lorsque je copie / colle le contenu du script shell sur le terminal, les fichiers txt fonctionnent correctement. MODIFIER 2 : lorsque je renomme le fichier, que je supprime txt et que je l'ajoute à nouveau, le fichier s'ouvre correctement ...

Savez-vous comment résoudre ce problème?

Merci d'avance!

0
zinon 9 août 2017 à 11:42

2 réponses

Meilleure réponse

J'ai trouvé la solution.

Lors de la création du script shell, à côté du nom du fichier txt que j'avais:

...
>> /home/zinonas/decode/pirkagia_10b_lowdelay_P_level_"+str(x)+"_dec.txt\n")

Donc le caractère de nouvelle ligne \n veut à côté de txt. C'était ça le problème. J'ai ajouté un nouvel espace entre eux et le problème est résolu!

Mon nouveau code lit maintenant:

...
>> /home/zinonas/decode/pirkagia_10b_lowdelay_P_level_"+str(x)+"_dec.txt \n")
0
zinon 9 août 2017 à 09:41

Y a-t-il un CR «non autorisé» à la fin du nom de fichier?

0
user2496748 9 août 2017 à 11:28